Changeset 3267354
- Timestamp:
- 04/06/2025 01:32:24 AM (11 months ago)
- Location:
- fraktvalg
- Files:
-
- 58 added
- 29 edited
-
tags/1.1.0 (added)
-
tags/1.1.0/Fraktvalg (added)
-
tags/1.1.0/Fraktvalg/Api.php (added)
-
tags/1.1.0/Fraktvalg/Onboarding.php (added)
-
tags/1.1.0/Fraktvalg/Options.php (added)
-
tags/1.1.0/Fraktvalg/Privacy.php (added)
-
tags/1.1.0/Fraktvalg/REST (added)
-
tags/1.1.0/Fraktvalg/REST/Base.php (added)
-
tags/1.1.0/Fraktvalg/REST/Settings (added)
-
tags/1.1.0/Fraktvalg/REST/Settings/ApiKey.php (added)
-
tags/1.1.0/Fraktvalg/REST/Settings/Onboarding.php (added)
-
tags/1.1.0/Fraktvalg/REST/Settings/OptionalSettings.php (added)
-
tags/1.1.0/Fraktvalg/REST/Settings/ProviderShippingOptions.php (added)
-
tags/1.1.0/Fraktvalg/REST/Settings/Providers.php (added)
-
tags/1.1.0/Fraktvalg/REST/WooCommerce (added)
-
tags/1.1.0/Fraktvalg/REST/WooCommerce/ShippingLabel.php (added)
-
tags/1.1.0/Fraktvalg/REST/WooCommerce/ShippingOptions.php (added)
-
tags/1.1.0/Fraktvalg/Settings.php (added)
-
tags/1.1.0/Fraktvalg/Setup.php (added)
-
tags/1.1.0/Fraktvalg/WooCommerce (added)
-
tags/1.1.0/Fraktvalg/WooCommerce/Admin (added)
-
tags/1.1.0/Fraktvalg/WooCommerce/Admin/ShippingLabel.php (added)
-
tags/1.1.0/Fraktvalg/WooCommerce/Blocks (added)
-
tags/1.1.0/Fraktvalg/WooCommerce/Blocks/Shipping.php (added)
-
tags/1.1.0/Fraktvalg/WooCommerce/CreateShipment.php (added)
-
tags/1.1.0/Fraktvalg/WooCommerce/ShippingMethod (added)
-
tags/1.1.0/Fraktvalg/WooCommerce/ShippingMethod.php (added)
-
tags/1.1.0/Fraktvalg/WooCommerce/ShippingMethod/Fraktvalg.php (added)
-
tags/1.1.0/LICENSE (added)
-
tags/1.1.0/assets (added)
-
tags/1.1.0/assets/fraktvalg-brandmark.svg (added)
-
tags/1.1.0/assets/fraktvalg.svg (added)
-
tags/1.1.0/build (added)
-
tags/1.1.0/build/Blocks (added)
-
tags/1.1.0/build/Blocks/ShippingSelector (added)
-
tags/1.1.0/build/Blocks/ShippingSelector/block.json (added)
-
tags/1.1.0/build/Blocks/ShippingSelector/frontend.asset.php (added)
-
tags/1.1.0/build/Blocks/ShippingSelector/frontend.js (added)
-
tags/1.1.0/build/Blocks/ShippingSelector/index.asset.php (added)
-
tags/1.1.0/build/Blocks/ShippingSelector/index.js (added)
-
tags/1.1.0/build/Blocks/ShippingSelector/render.php (added)
-
tags/1.1.0/build/Blocks/ShippingSelector/style-frontend-rtl.css (added)
-
tags/1.1.0/build/Blocks/ShippingSelector/style-frontend.css (added)
-
tags/1.1.0/build/fraktvalg-rtl.css (added)
-
tags/1.1.0/build/fraktvalg.asset.php (added)
-
tags/1.1.0/build/fraktvalg.css (added)
-
tags/1.1.0/build/fraktvalg.js (added)
-
tags/1.1.0/build/label-rtl.css (added)
-
tags/1.1.0/build/label.asset.php (added)
-
tags/1.1.0/build/label.css (added)
-
tags/1.1.0/build/label.js (added)
-
tags/1.1.0/build/onboarding-rtl.css (added)
-
tags/1.1.0/build/onboarding.asset.php (added)
-
tags/1.1.0/build/onboarding.css (added)
-
tags/1.1.0/build/onboarding.js (added)
-
tags/1.1.0/fraktvalg.php (added)
-
tags/1.1.0/readme.txt (added)
-
tags/1.1.0/uninstall.php (added)
-
trunk/Fraktvalg/Api.php (modified) (1 diff)
-
trunk/Fraktvalg/REST/Settings/Onboarding.php (modified) (2 diffs)
-
trunk/Fraktvalg/REST/Settings/Providers.php (modified) (3 diffs)
-
trunk/Fraktvalg/Setup.php (modified) (1 diff)
-
trunk/Fraktvalg/WooCommerce/Blocks/Shipping.php (modified) (2 diffs)
-
trunk/Fraktvalg/WooCommerce/ShippingMethod/Fraktvalg.php (modified) (8 diffs)
-
trunk/build/Blocks/ShippingSelector/block.json (modified) (2 diffs)
-
trunk/build/Blocks/ShippingSelector/frontend.asset.php (modified) (1 diff)
-
trunk/build/Blocks/ShippingSelector/frontend.js (modified) (1 diff)
-
trunk/build/Blocks/ShippingSelector/index.asset.php (modified) (1 diff)
-
trunk/build/Blocks/ShippingSelector/index.js (modified) (1 diff)
-
trunk/build/Blocks/ShippingSelector/render.php (modified) (1 diff)
-
trunk/build/Blocks/ShippingSelector/style-frontend-rtl.css (modified) (13 diffs)
-
trunk/build/Blocks/ShippingSelector/style-frontend.css (modified) (13 diffs)
-
trunk/build/fraktvalg-rtl.css (modified) (12 diffs)
-
trunk/build/fraktvalg.asset.php (modified) (1 diff)
-
trunk/build/fraktvalg.css (modified) (12 diffs)
-
trunk/build/fraktvalg.js (modified) (1 diff)
-
trunk/build/label-rtl.css (modified) (12 diffs)
-
trunk/build/label.asset.php (modified) (1 diff)
-
trunk/build/label.css (modified) (12 diffs)
-
trunk/build/label.js (modified) (1 diff)
-
trunk/build/onboarding-rtl.css (modified) (12 diffs)
-
trunk/build/onboarding.asset.php (modified) (1 diff)
-
trunk/build/onboarding.css (modified) (12 diffs)
-
trunk/build/onboarding.js (modified) (1 diff)
-
trunk/fraktvalg.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/uninstall.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
fraktvalg/trunk/Fraktvalg/Api.php
r3260012 r3267354 6 6 7 7 private static function headers() { 8 $options = \get_option( 'fraktvalg_options', [] );9 10 8 return [ 11 9 'X-Api-Key' => \get_option( 'fraktvalg_api_key' ), 12 10 'X-API-Environment' => ( Options::get( 'useProduction' ) ? 'production' : 'development' ), 13 11 'X-Request-Locale' => \get_user_locale(), 12 'Accept' => 'application/json', 14 13 ]; 15 14 } -
fraktvalg/trunk/Fraktvalg/REST/Settings/Onboarding.php
r3260012 r3267354 4 4 5 5 use Fraktvalg\Fraktvalg\REST\Base; 6 use Automattic\WooCommerce\Blocks\Utils\BlockTemplateUtils; 6 7 7 8 class Onboarding extends Base { … … 20 21 ] 21 22 ); 23 24 \register_rest_route( 25 $this->namespace, 26 '/onboarding/theme-status', 27 [ 28 'methods' => \WP_REST_Server::READABLE, 29 'callback' => array( $this, 'get_theme_status' ), 30 'permission_callback' => array( $this, 'permission_callback' ), 31 ] 32 ); 33 34 \register_rest_route( 35 $this->namespace, 36 '/onboarding/create-template', 37 [ 38 'methods' => \WP_REST_Server::EDITABLE, 39 'callback' => array( $this, 'create_template' ), 40 'permission_callback' => array( $this, 'permission_callback' ), 41 'args' => [ 42 'template' => [ 43 'required' => true, 44 'type' => 'string', 45 'sanitize_callback' => 'sanitize_text_field', 46 'validate_callback' => function($param) { 47 return in_array($param, ['cart', 'checkout']); 48 }, 49 ], 50 ], 51 ] 52 ); 53 } 54 55 /** 56 * Get the current theme status and WooCommerce block template information. 57 * 58 * @return \WP_REST_Response Response containing theme and template status. 59 */ 60 public function get_theme_status() { 61 $is_block_cart_template = \has_blocks( \wc_get_page_id( 'cart' ) ); 62 $is_block_checkout_template = \has_blocks( \wc_get_page_id( 'checkout' ) ); 63 64 // Get Site Editor URLs. 65 $urls = [ 66 'cart' => \add_query_arg( [ 'post' => \wc_get_page_id( 'cart' ), 'action' => 'edit' ], \admin_url( 'post.php' ) ), 67 'checkout' => \add_query_arg( [ 'post' => \wc_get_page_id( 'checkout' ), 'action' => 'edit' ], \admin_url( 'post.php' ) ), 68 ]; 69 70 return new \WP_REST_Response( 71 [ 72 'urls' => $urls, 73 'isBlockCartTemplate' => $is_block_cart_template, 74 'isBlockCheckoutTemplate' => $is_block_checkout_template, 75 ] 76 ); 77 } 78 79 /** 80 * Create and return a WooCommerce block template for cart or checkout. 81 * 82 * @param \WP_REST_Request $request Request object containing template parameter. 83 * @return \WP_REST_Response Response containing template data. 84 */ 85 public function create_template( $request ) { 86 $template_type = $request->get_param('template'); 87 $template_name = $template_type; 88 89 // Retrieve template. 90 $page_id = \wc_get_page_id( $template_type ); 91 $template = get_post( $page_id ); 92 93 $content = $template->post_content; 94 // Check if the content contains the Fraktvalg block. 95 if ( strpos( $content, 'fraktvalg' ) !== false ) { 96 return new \WP_REST_Response( 97 [ 98 'error' => 'Template already contains Fraktvalg block', 99 'status' => 'error' 100 ], 101 ); 102 } 103 104 // Inject the Fraktvalg block in our desired location. 105 switch ( $template_type ) { 106 case 'cart': 107 $inject_after = '<!-- /wp:woocommerce/cart-order-summary-taxes-block -->'; 108 break; 109 case 'checkout': 110 $inject_after = '<!-- /wp:woocommerce/checkout-shipping-methods-block -->'; 111 break; 112 } 113 $content = str_replace( $inject_after, $inject_after . '<!-- wp:fraktvalg/shipping-selector /-->', $content ); 114 115 // Update the page content. 116 $template->post_content = $content; 117 wp_update_post( $template ); 118 119 return new \WP_REST_Response( 120 [ 121 'status' => 'success', 122 'url' => \add_query_arg( [ 'post' => $template->ID, 'action' => 'edit' ], \admin_url( 'post.php' ) ), 123 ] 124 ); 22 125 } 23 126 24 127 public function finalize_onboarding() { 25 128 \update_option( 'fraktvalg_configured', true ); 26 27 return new \WP_Rest_Response( [ 'status' => 'ok' ] ); 129 return new \WP_REST_Response( [ 'status' => 'ok' ] ); 28 130 } 29 131 -
fraktvalg/trunk/Fraktvalg/REST/Settings/Providers.php
r3260012 r3267354 137 137 public function store_providers( \WP_REST_Request $request ) { 138 138 $provider = $request->get_param( 'providerId' ); 139 $fields = $request->get_param( 'fieldValues' ) ;139 $fields = $request->get_param( 'fieldValues' ) ?: []; 140 140 141 141 if ( ! $provider ) { … … 143 143 } 144 144 145 Api::post(145 $response = Api::post( 146 146 '/shipper/register', 147 147 array_merge( … … 151 151 ); 152 152 153 \update_option( 'fraktvalg_configured', true ); 153 if ( \is_wp_error( $response ) || 200 !== $response['response']['code'] ) { 154 $error_message = 'Could not store providers'; 155 156 if ( ! \is_wp_error( $response ) && isset( $response['body'] ) ) { 157 $response_body = json_decode( $response['body'], true ); 158 if ( isset( $response_body['message'] ) ) { 159 $error_message = $response_body['message']; 160 } 161 } 162 163 return new \WP_Error( 'api_error', $error_message, [ 'status' => 400 ] ); 164 } 154 165 155 166 return new \WP_Rest_Response( [ 'status' => 'OK' ] ); -
fraktvalg/trunk/Fraktvalg/Setup.php
r3260012 r3267354 10 10 11 11 public function __construct() { 12 new Privacy(); 13 new WooCommerce\Blocks\Shipping(); 14 15 // If Fraktvalg has not been configured yet, do not include any more classes. 12 16 if ( ! \get_option( 'fraktvalg_configured', false ) ) { 13 17 new Onboarding(); 14 18 return; 15 } else {16 new Settings();17 19 } 18 20 19 new Privacy(); 21 new Settings(); 22 20 23 new ShippingMethod(); 21 24 new CreateShipment(); 22 25 23 26 new WooCommerce\Admin\ShippingLabel(); 24 25 new WooCommerce\Blocks\Shipping();26 27 } 27 28 -
fraktvalg/trunk/Fraktvalg/WooCommerce/Blocks/Shipping.php
r3260012 r3267354 9 9 public function __construct() { 10 10 new ShippingOptions(); 11 12 // add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_shipping_selector' ] );13 14 add_filter( 'render_block', function( $block_content, $block ) {15 // TODO: Don't do this.16 return $block_content;17 18 if ( $block['blockName'] === 'woocommerce/cart-order-summary-block' ) {19 $block_content = preg_replace(20 '/(data-block-name="woocommerce\/cart-order-summary-shipping-block".+?<\/div>)/sm',21 '$1<div id="fraktvalg-shipping"></div>',22 $block_content23 );24 }25 26 if ( $block['blockName'] === 'woocommerce/checkout-shipping-methods-block' ) {27 $block_content = preg_replace(28 '/(data-block-name="woocommerce\/checkout-shipping-methods-block".+?<\/div>)/sm',29 '$1<div id="fraktvalg-shipping"></div>',30 $block_content31 );32 }33 34 return $block_content;35 }, 20, 2);36 11 37 12 add_action( 'init', [ $this, 'register_fraktvalg_block' ] ); … … 53 28 register_block_type_from_metadata( $blockPath ); 54 29 } 55 56 public function enqueue_shipping_selector() {57 if ( ( ! function_exists( 'is_cart' ) || ! \is_cart() ) || ( ! function_exists( 'is_checkout' ) ) && ! \is_checkout() ) {58 return;59 }60 61 $block_asset = require \plugin_dir_path( FRAKTVALG_BASE_FILE ) . 'build/shipping-selector.asset.php';62 63 \wp_enqueue_script(64 'fraktvalg-shipping-selector',65 \plugin_dir_url( FRAKTVALG_BASE_FILE ) . 'build/shipping-selector.js',66 $block_asset['dependencies'],67 $block_asset['version'],68 true69 );70 71 wp_enqueue_style(72 'fraktvalg-shipping-selector',73 \plugin_dir_url( FRAKTVALG_BASE_FILE ) . 'build/shipping-selector.css',74 [],75 $block_asset['version']76 );77 }78 30 } -
fraktvalg/trunk/Fraktvalg/WooCommerce/ShippingMethod/Fraktvalg.php
r3260012 r3267354 31 31 32 32 $total_weight = 0; 33 $total_length = 0; 34 $total_width = 0; 35 $total_height = 0; 36 $total_volume = 0; 37 38 // Get units once before the loop 39 $weight_unit = get_option( 'woocommerce_weight_unit' ); 40 $dimension_unit = get_option( 'woocommerce_dimension_unit' ); 41 42 // Set up dimension conversion factor 43 $dimension_conversion_factor = 1; 44 switch ( $dimension_unit ) { 45 case 'm': 46 $dimension_conversion_factor = 1000; 47 break; 48 case 'cm': 49 $dimension_conversion_factor = 10; 50 break; 51 case 'in': 52 $dimension_conversion_factor = 25.4; 53 break; 54 case 'yd': 55 $dimension_conversion_factor = 914.4; 56 break; 57 // 'mm' needs no conversion 58 } 59 33 60 foreach ( $package['contents'] as $data ) { 34 61 $product = $data['data']; … … 37 64 } 38 65 66 // Get the weight and convert to grams 39 67 $product_weight = $product->get_weight(); 68 if ( $product_weight ) { 69 switch ( $weight_unit ) { 70 case 'kg': 71 $product_weight *= 1000; 72 break; 73 case 'lbs': 74 $product_weight *= 453.59237; 75 break; 76 case 'oz': 77 $product_weight *= 28.3495231; 78 break; 79 // 'g' needs no conversion 80 } 81 } 82 83 // Get dimensions and convert to millimeters 84 $product_length = $product->get_length(); 85 $product_width = $product->get_width(); 86 $product_height = $product->get_height(); 87 $product_volume = 0; 88 89 if ( $product_length || $product_width || $product_height ) { 90 if ( $product_length ) { 91 $product_length *= $dimension_conversion_factor; 92 } 93 if ( $product_width ) { 94 $product_width *= $dimension_conversion_factor; 95 } 96 if ( $product_height ) { 97 $product_height *= $dimension_conversion_factor; 98 } 99 100 // Recalculate volume if it wasn't explicitly set 101 if ( $product_length && $product_width && $product_height ) { 102 $product_volume = $product_length * $product_width * $product_height; 103 } 104 } 40 105 41 106 if ( $product_weight ) { 42 107 $total_weight += ( (float) $product_weight * $data['quantity'] ); 43 108 } 44 } 45 109 if ( $product_length && $product_width && $product_height ) { 110 $total_length = max( $total_length, (float) $product_length ); 111 $total_width = max( $total_width, (float) $product_width ); 112 $total_height = max( $total_height, (float) $product_height ); 113 114 $total_volume += ( ( (float) $product_length * (float) $product_width * (float) $product_height ) * $data['quantity'] ); 115 } 116 } 117 118 // Ensure minimum weight of 1g instead of 1kg 46 119 if ( $total_weight < 1 ) { 47 120 $total_weight = 1; … … 52 125 'country' => \get_option( 'woocommerce_default_country' ), 53 126 'postalCode' => \get_option( 'woocommerce_store_postcode' ), 127 'city' => \get_option( 'woocommerce_store_city' ), 128 'address' => \get_option( 'woocommerce_store_address' ), 54 129 ], 55 130 'recipient' => [ … … 61 136 'packages' => [ 62 137 [ 63 'packageWeight' => $total_weight138 'packageWeight' => ceil( $total_weight ) 64 139 ] 65 140 ], 66 141 ]; 142 143 // Add dimensions if they are available 144 if ($total_length > 0) { 145 $shipping_options_array['packages'][0]['packageLength'] = ceil( $total_length ); 146 } 147 if ($total_width > 0) { 148 $shipping_options_array['packages'][0]['packageWidth'] = ceil( $total_width ); 149 } 150 if ($total_height > 0) { 151 $shipping_options_array['packages'][0]['packageHeight'] = ceil( $total_height ); 152 } 153 if ($total_volume > 0) { 154 $shipping_options_array['packages'][0]['packageVolume'] = ceil( $total_volume ); 155 } 67 156 68 157 $shippers = Api::post( … … 73 162 $settings = Options::get(); 74 163 $shippingOptions = []; 75 76 if ( ! \is_wp_error( $shippers ) ) { 164 $priorityProvider = \get_option( "fraktvalg['priorityProvider']", [ 'providerId' => '', 'discount' => 0, 'discountType' => 'percent' ] ); 165 166 if ( ! \is_wp_error( $shippers ) && 200 === $shippers['response']['code'] ) { 77 167 $shippingOptions = \json_decode( $shippers['body'] ); 78 168 if ( ! is_array( $shippingOptions ) && ! is_object( $shippingOptions ) ) { … … 81 171 } 82 172 173 // Check if we're using a block theme 174 $is_block_theme = function_exists('wp_is_block_theme') && wp_is_block_theme(); 175 83 176 if ( ! empty( $shippingOptions) ) { 84 foreach ( $shippingOptions as $shipper => $options ) { 85 foreach ( $options as $count => $option ) { 86 $shipping_id = $shipper . ':' . $count; 177 // Find the cheapest shipping method from non-priority providers 178 $cheapest_price = $this->get_cheapest_shipping_price( $shippingOptions, $priorityProvider['providerId'], $settings ); 179 180 // First, add the priority provider if it exists 181 if ( ! empty( $priorityProvider['providerId'] ) && isset( $shippingOptions->{$priorityProvider['providerId']} ) ) { 182 foreach ( $shippingOptions->{$priorityProvider['providerId']} as $count => $option ) { 183 $shipping_id = $priorityProvider['providerId'] . ':' . $count; 87 184 88 185 $price = $option->price->withVAT; 186 187 // Apply priority provider discount if set and if priority provider is more expensive than cheapest option 188 if ( ! empty( $priorityProvider['discount'] ) && $price > $cheapest_price ) { 189 // Calculate the discount amount needed to match or beat the cheapest price 190 $discount_amount = $price - $cheapest_price; 191 192 // Apply the configured discount type and amount 193 if ( 'percent' === $priorityProvider['discountType'] ) { 194 // Calculate what percentage discount would be needed to match the cheapest price 195 $needed_percent_discount = ( $discount_amount / $price ) * 100; 196 197 // Apply the configured discount, but not more than needed to match the cheapest price 198 $applied_percent_discount = min( $priorityProvider['discount'], $needed_percent_discount ); 199 $price = $price * ( 1 - ( $applied_percent_discount / 100 ) ); 200 } else { 201 // Apply the configured fixed discount, but not more than needed to match the cheapest price 202 $applied_fixed_discount = min( $priorityProvider['discount'], $discount_amount ); 203 $price = $price - $applied_fixed_discount; 204 } 205 } 206 207 // Apply added cost from settings 89 208 if ( isset( $settings['freight']['addedCost'] ) ) { 90 if ( ! empty( $settings['freight']['addedCostType'] ) && $settings['freight']['addedCostType'] === 'percent') {209 if ( ! empty( $settings['freight']['addedCostType'] ) && 'percent' === $settings['freight']['addedCostType'] ) { 91 210 $price += $price * ( $settings['freight']['addedCost'] / 100 ); 92 211 } else { 93 212 $price += $settings['freight']['addedCost']; 94 213 } 214 } 215 216 // Set the label based on theme type 217 $label = $option->texts->displayName; 218 if ( ! $is_block_theme && isset( $option->texts->shipperName ) ) { 219 $label = $option->texts->shipperName . ' - ' . $label; 220 221 if ( isset( $option->texts->description ) ) { 222 $label .= ' (' . $option->texts->description . ')'; 223 } 95 224 } 96 225 97 $this->add_rate( [ 98 'id' => $shipping_id, 99 'label' => $option->texts->displayName, 100 'cost' => $price, 101 'taxes' => false, 102 'package' => $package, 103 'meta_data' => [ 104 'fraktvalg' => true, 105 'shipper' => $shipper, 106 'option' => $option, 107 ], 226 $this->add_shipping_rate( $shipping_id, $label, $price, $package, [ 227 'fraktvalg' => true, 228 'shipper' => $priorityProvider['providerId'], 229 'option' => $option, 230 'priority' => true, 108 231 ] ); 109 232 } 110 233 } 234 235 // Then add all other providers 236 foreach ( $shippingOptions as $shipper => $options ) { 237 // Skip the priority provider as it's already been added 238 if ( $shipper === $priorityProvider['providerId'] ) { 239 continue; 240 } 241 242 foreach ( $options as $count => $option ) { 243 $shipping_id = $shipper . ':' . $count; 244 245 $price = $option->price->withVAT; 246 if ( isset( $settings['freight']['addedCost'] ) ) { 247 if ( ! empty( $settings['freight']['addedCostType'] ) && 'percent' === $settings['freight']['addedCostType'] ) { 248 $price += $price * ( $settings['freight']['addedCost'] / 100 ); 249 } else { 250 $price += $settings['freight']['addedCost']; 251 } 252 } 253 // Set the label based on theme type 254 $label = $option->texts->displayName; 255 if ( ! $is_block_theme && isset( $option->texts->shipperName ) ) { 256 $label = $option->texts->shipperName . ' - ' . $label; 257 258 if ( isset( $option->texts->description ) ) { 259 $label .= ' (' . $option->texts->description . ')'; 260 } 261 } 262 263 $this->add_shipping_rate( $shipping_id, $label, $price, $package, [ 264 'fraktvalg' => true, 265 'shipper' => $shipper, 266 'option' => $option, 267 ] ); 268 } 269 } 111 270 } else { 112 // If an error happened when fetching shipping providers, use the fallback shipping option.271 // If an error happened when fetching shipping providers, or no options exist, use the fallback shipping option. 113 272 if ( ! empty( $settings['freight'] ) ) { 114 273 if ( 'fixed' === $settings['freight']['custom']['type'] ) { … … 122 281 } 123 282 124 $this->add_rate( [ 125 'id' => 'fallback', 126 'label' => $settings['freight']['custom']['name'], 127 'cost' => $price, 128 'taxes' => false, 129 'package' => $package, 130 'meta_data' => [ 131 'fraktvalg' => true, 132 'shipper' => 'fallback', 133 'option' => array_merge( 134 [ 135 'delivery' => [ 136 'estimatedDays' => '3-5', 137 ], 283 $this->add_shipping_rate( 'fallback', $settings['freight']['custom']['name'], $price, $package, [ 284 'fraktvalg' => true, 285 'shipper' => 'fallback', 286 'option' => array_merge( 287 [ 288 'delivery' => [ 289 'estimatedDays' => '3-5', 138 290 ], 139 $settings['freight']['custom']140 ),141 ],291 ], 292 $settings['freight']['custom'] 293 ), 142 294 ] ); 143 295 } … … 145 297 } 146 298 299 /** 300 * Add a shipping rate to WooCommerce 301 * 302 * @param string $shipping_id The shipping ID 303 * @param string $label The shipping label 304 * @param float $price The shipping price 305 * @param array $package The package data 306 * @param array $meta_data Additional meta data for the shipping rate 307 * @return void 308 */ 309 private function add_shipping_rate( $shipping_id, $label, $price, $package, $meta_data ) { 310 $this->add_rate( [ 311 'id' => $shipping_id, 312 'label' => $label, 313 'cost' => $price, 314 'taxes' => false, 315 'package' => $package, 316 'meta_data' => $meta_data, 317 ] ); 318 } 319 320 /** 321 * Find the cheapest shipping price from non-priority providers 322 * 323 * @param object $shipping_options The shipping options returned from the API 324 * @param string $priority_provider_id The ID of the priority provider to exclude 325 * @param array $settings The plugin settings 326 * @return float The cheapest shipping price found 327 */ 328 private function get_cheapest_shipping_price( $shipping_options, $priority_provider_id, $settings ) { 329 $cheapest_price = PHP_FLOAT_MAX; 330 $has_other_providers = false; 331 332 // Loop through all providers to find the cheapest price 333 foreach ( $shipping_options as $shipper => $options ) { 334 // Skip the priority provider 335 if ( $shipper === $priority_provider_id ) { 336 continue; 337 } 338 339 $has_other_providers = true; 340 341 foreach ( $options as $option ) { 342 $price = $option->price->withVAT; 343 344 // Apply added cost from settings 345 if ( isset( $settings['freight']['addedCost'] ) ) { 346 if ( ! empty( $settings['freight']['addedCostType'] ) && 'percent' === $settings['freight']['addedCostType'] ) { 347 $price += $price * ( $settings['freight']['addedCost'] / 100 ); 348 } else { 349 $price += $settings['freight']['addedCost']; 350 } 351 } 352 353 if ( $price < $cheapest_price ) { 354 $cheapest_price = $price; 355 } 356 } 357 } 358 359 // If no other providers exist, set cheapest price to 0 to avoid applying discount 360 if ( ! $has_other_providers ) { 361 $cheapest_price = 0; 362 } 363 364 return $cheapest_price; 365 } 366 147 367 } -
fraktvalg/trunk/build/Blocks/ShippingSelector/block.json
r3260012 r3267354 22 22 "move": false 23 23 } 24 }, 25 "primaryColor": { 26 "type": "string", 27 "default": "#2F463E" 28 }, 29 "secondaryColor": { 30 "type": "string", 31 "default": "#4D8965" 32 }, 33 "tertiaryColor": { 34 "type": "string", 35 "default": "#65C7A4" 36 }, 37 "style": { 38 "type": "object" 24 39 } 25 40 }, … … 29 44 "reusable": false, 30 45 "inserter": false, 31 "lock": false 46 "lock": false, 47 "color": false, 48 "spacing": false, 49 "typography": false, 50 "__experimentalBorder": false 32 51 }, 52 "styles": [ 53 { 54 "name": "default", 55 "label": "Default", 56 "isDefault": true 57 } 58 ], 33 59 "textdomain": "fraktvalg", 34 60 "editorScript": "file:./index.js", -
fraktvalg/trunk/build/Blocks/ShippingSelector/frontend.asset.php
r3260012 r3267354 1 <?php return array('dependencies' => array('react', 'react-dom', 'wc-blocks-checkout', 'w p-block-editor', 'wp-element', 'wp-i18n'), 'version' => 'd7903327bbffeab98a4c');1 <?php return array('dependencies' => array('react', 'react-dom', 'wc-blocks-checkout', 'wc-blocks-data-store', 'wp-api-fetch', 'wp-block-editor', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '4de089affb66c785bb90'); -
fraktvalg/trunk/build/Blocks/ShippingSelector/frontend.js
r3260012 r3267354 1 (()=>{"use strict";var e,t={ 420:(e,t,r)=>{const i=window.wc.blocksCheckout,a=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"fraktvalg/shipping-selector","version":"1.0.0","title":"Fraktvalg","category":"widgets","description":"Shipping selector from Fraktvalg","parent":["woocommerce/checkout-fields-block","woocommerce/cart-order-summary-totals-block"],"keywords":["fraktvalg","shipping"],"attributes":{"lock":{"type":"object","default":{"remove":true,"move":false}}},"supports":{"html":false,"multiple":false,"reusable":false,"inserter":false,"lock":false},"textdomain":"fraktvalg","editorScript":"file:./index.js","viewScript":"file:./frontend.js","style":"file:./style-frontend.css","render":"file:./render.php"}'),s=window.wp.element,l=window.wp.blockEditor,n=window.wp.i18n;var o=r(609);function c({title:e,titleId:t,...r},i){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?o.createElement("title",{id:t},e):null,o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"}))}const d=o.forwardRef(c);function p({title:e,titleId:t,...r},i){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?o.createElement("title",{id:t},e):null,o.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const m=o.forwardRef(p);var f=r(848);function h(){return(0,f.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,f.jsx)(m,{className:"h-8 w-8 animate-spin text-primary"}),(0,f.jsx)("div",{className:"text-lg",children:(0,n.__)("Fetching the best shipping options...","fraktvalg")})]})}function u({title:e,titleId:t,...r},i){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?o.createElement("title",{id:t},e):null,o.createElement("path",{fillRule:"evenodd",d:"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z",clipRule:"evenodd"}))}const v=o.forwardRef(u);function g({title:e,titleId:t,...r},i){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?o.createElement("title",{id:t},e):null,o.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const x=o.forwardRef(g);function w(e){var t,r,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=w(e[t]))&&(i&&(i+=" "),i+=r)}else for(r in e)e[r]&&(i&&(i+=" "),i+=r);return i}function k(){for(var e,t,r=0,i="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=w(e))&&(i&&(i+=" "),i+=t);return i}const y=e=>"function"==typeof wc.priceFormat.formatPrice?wc.priceFormat.formatPrice(e):(e/100).toFixed(2);function j({methods:e,selectedShippingMethod:t,onSelectMethod:r,setSelectedShipper:i}){return(0,f.jsxs)("div",{className:"p-4",children:[(0,f.jsxs)("button",{className:"mb-4 px-4 py-2 pl-0 transition-all bg-transparent hover:text-secondary rounded-lg",onClick:()=>i(null),children:[(0,f.jsx)(v,{className:"w-4 h-4 inline-block mr-2"}),(0,n.__)("Return to shipping providers","fraktvalg")]}),(0,f.jsx)("div",{className:"flex flex-col gap-2",children:e.map(((e,i)=>(0,f.jsxs)("div",{className:k("border rounded-lg p-4 flex flex-col sm:flex-row transition-all duraction-300 items-center justify-between cursor-pointer hover:bg-tertiary/10 hover:shadow-md"),onClick:()=>r(e),children:[(0,f.jsxs)("div",{className:"flex items-center",children:[e?.rate_id===t?(0,f.jsx)(x,{className:"w-10 h-10 mr-4 text-primary inline-block"}):e?.icon&&e.icon,(0,f.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,f.jsx)("span",{className:"text-md font-semibold",children:e.name}),(0,f.jsx)("p",{className:"text-sm text-gray-600 flex items-center",children:e.shippingTime})]})]}),(0,f.jsx)("p",{className:"text-md font-medium mt-2 sm:mt-0",children:y(e.price)})]},i)))})]})}function b({logo:e=null,...t}){const{alt:r=""}=t;return e?e.startsWith("http")?(0,f.jsx)("img",{src:e,alt:r,...t}):(e.startsWith("https")||(e=encodeURIComponent(e)),(0,f.jsx)("img",{src:"data:image/svg+xml;utf8,"+e,alt:r,...t})):(0,f.jsx)(d,{...t})}function _({title:e,titleId:t,...r},i){return o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?o.createElement("title",{id:t},e):null,o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}))}const O=o.forwardRef(_);function E({shippers:e,onSelectShipper:t}){return(0,f.jsx)("div",{className:"p-4 flex flex-col gap-2",children:Object.entries(e).map((([e,r])=>(0,f.jsxs)("div",{className:"border rounded-lg p-4 bg-white flex flex-col sm:flex-row transition-all duration-300 items-center justify-between cursor-pointer hover:bg-tertiary/10 hover:shadow-md",onClick:()=>t(r),children:[(0,f.jsxs)("div",{className:"flex items-center",children:[(0,f.jsx)(b,{logo:r?.texts?.logo?.url,alt:r?.details?.label,className:"w-8 h-8 mr-2"}),(0,f.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,f.jsxs)("span",{className:"text-md font-semibold",children:["Fraktes av ",r?.details?.label]}),(0,f.jsxs)("p",{className:"text-sm text-gray-600 flex items-center",children:[(0,f.jsx)(O,{className:"w-4 h-4 inline-block mr-2"}),r?.details?.quickestShippingTime]})]})]}),(0,f.jsxs)("p",{className:"text-md font-medium mt-2 sm:mt-0",children:["Fra ",y(r?.details?.LowestPrice)]})]},e)))})}function S({className:e,isEditor:t=!1}){const[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(null),[c,p]=(0,s.useState)(!0),[m,u]=(0,s.useState)({}),v=(0,l.useBlockProps)();return(0,s.useEffect)((()=>{t||(p(!0),fetch("/wp-json/wc/store/v1/cart").then((e=>e.json())).then((e=>{let t=function(e){let t=[],r={},i=null,a={},s=null;return e?.shipping_rates?.forEach((e=>{e?.shipping_rates?.forEach((e=>{e?.meta_data?.some((e=>"fraktvalg"===e.key))&&(r=e?.meta_data?.find((e=>"option"===e.key))?.value||{},i=e?.rate_id.split(":")[0],t.some((e=>e.id===i))?(s=t.find((e=>e.id===i)),s&&e.price<s.details.LowestPrice&&(s.details.LowestPrice=e.price)):(a=e?.meta_data.find((e=>"option"===e.key))?.value||{},t.push({id:i,details:{label:r?.texts?.shipperName,quickestShippingTime:"2 virkedager",LowestPrice:e.price},shippingOptions:[],...a})))}))})),t}(e);t.forEach((t=>{const r=function(e,t){let r=[];return e?.shipping_rates?.forEach((e=>{e?.shipping_rates?.forEach((e=>{if(!e?.meta_data?.some((e=>"fraktvalg"===e.key)))return;let i=e?.rate_id.split(":")[0],a=e?.meta_data.find((e=>"option"===e.key))?.value,s=a?.delivery?.estimatedDate||(new Date).toISOString().split("T")[0];i===t.id&&r.push({rate_id:e?.rate_id,name:e?.name,price:e?.price,selected:e?.selected||!1,delivery:{date:s,days:Math.max(1,Math.ceil((new Date(s)-new Date)/864e5))}})}))})),r}(e,t);t.shippingOptions=r.map((e=>({rate_id:e.rate_id,name:e.name,price:e.price,shippingTime:"1-3 virkedager",icon:(0,f.jsx)(d,{className:"w-10 h-10 mr-4 text-tertiary inline-block"}),selected:e.selected,delivery:{days:e.delivery.days}})));const a=t?.shippingOptions.find((e=>e.selected))||null;a&&(i(t),o(a.rate_id)),t.details.LowestPrice=Math.min(...t.shippingOptions.map((e=>e.price))),t.details.quickestShippingTime=Math.min(...t.shippingOptions.map((e=>e.delivery.days)))+(0,n.__)(" business days","fraktvalg")})),u(t),p(!1)})).catch((e=>console.error("Error fetching shipping options:",e))))}),[]),t?(0,f.jsx)("div",{...v,children:(0,f.jsx)(h,{})}):(0,f.jsxs)(f.Fragment,{children:[c&&(0,f.jsx)(h,{}),!c&&!r&&(0,f.jsx)(E,{shippers:m,onSelectShipper:i}),!c&&r&&(0,f.jsx)(j,{methods:r.shippingOptions,setSelectedShipper:i,selectedShippingMethod:a,onSelectMethod:e=>{fetch("/wp-json/wc/store/v1/cart/select-shipping-rate",{method:"POST",body:JSON.stringify({package_id:0,rate_id:e?.rate_id})}).then((e=>e.json())).then((t=>{o(e?.rate_id),console.log(t)})).catch((e=>console.error("Error selecting shipping method:",e)))}})]})}var N=r(338);(0,i.registerCheckoutBlock)({metadata:a,component:()=>(0,f.jsx)(S,{})});let R=0;const C=()=>{const e=document.getElementById("fraktvalg-shipping");e?(0,N.H)(e).render((0,f.jsx)(S,{})):R<60&&(R++,setTimeout(C,1e3))};C()},338:(e,t,r)=>{var i=r(795);t.H=i.createRoot,i.hydrateRoot},20:(e,t,r)=>{var i=r(609),a=Symbol.for("react.element"),s=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,n=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var i,s={},c=null,d=null;for(i in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)l.call(t,i)&&!o.hasOwnProperty(i)&&(s[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===s[i]&&(s[i]=t[i]);return{$$typeof:a,type:e,key:c,ref:d,props:s,_owner:n.current}}t.Fragment=s,t.jsx=c,t.jsxs=c},848:(e,t,r)=>{e.exports=r(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM}},r={};function i(e){var a=r[e];if(void 0!==a)return a.exports;var s=r[e]={exports:{}};return t[e](s,s.exports,i),s.exports}i.m=t,e=[],i.O=(t,r,a,s)=>{if(!r){var l=1/0;for(d=0;d<e.length;d++){r=e[d][0],a=e[d][1],s=e[d][2];for(var n=!0,o=0;o<r.length;o++)(!1&s||l>=s)&&Object.keys(i.O).every((e=>i.O[e](r[o])))?r.splice(o--,1):(n=!1,s<l&&(l=s));if(n){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}s=s||0;for(var d=e.length;d>0&&e[d-1][2]>s;d--)e[d]=e[d-1];e[d]=[r,a,s]},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={64:0,920:0};i.O.j=t=>0===e[t];var t=(t,r)=>{var a,s,l=r[0],n=r[1],o=r[2],c=0;if(l.some((t=>0!==e[t]))){for(a in n)i.o(n,a)&&(i.m[a]=n[a]);if(o)var d=o(i)}for(t&&t(r);c<l.length;c++)s=l[c],i.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return i.O(d)},r=self.webpackChunkfraktvalg=self.webpackChunkfraktvalg||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var a=i.O(void 0,[920],(()=>i(420)));a=i.O(a)})();1 (()=>{"use strict";var e,t={380:(e,t,r)=>{const i=window.wc.blocksCheckout,a=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"fraktvalg/shipping-selector","version":"1.0.0","title":"Fraktvalg","category":"widgets","description":"Shipping selector from Fraktvalg","parent":["woocommerce/checkout-fields-block","woocommerce/cart-order-summary-totals-block"],"keywords":["fraktvalg","shipping"],"attributes":{"lock":{"type":"object","default":{"remove":true,"move":false}},"primaryColor":{"type":"string","default":"#2F463E"},"secondaryColor":{"type":"string","default":"#4D8965"},"tertiaryColor":{"type":"string","default":"#65C7A4"},"style":{"type":"object"}},"supports":{"html":false,"multiple":false,"reusable":false,"inserter":false,"lock":false,"color":false,"spacing":false,"typography":false,"__experimentalBorder":false},"styles":[{"name":"default","label":"Default","isDefault":true}],"textdomain":"fraktvalg","editorScript":"file:./index.js","viewScript":"file:./frontend.js","style":"file:./style-frontend.css","render":"file:./render.php"}'),s=window.wp.element,l=window.wp.blockEditor,o=window.wp.i18n,n=window.wp.apiFetch;var c=r.n(n);const d=window.wp.data;window.wc.wcBlocksData;var p=r(609);function m({title:e,titleId:t,...r},i){return p.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?p.createElement("title",{id:t},e):null,p.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"}))}const h=p.forwardRef(m);function u({title:e,titleId:t,...r},i){return p.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?p.createElement("title",{id:t},e):null,p.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"}))}const f=p.forwardRef(u);function g({title:e,titleId:t,...r},i){return p.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?p.createElement("title",{id:t},e):null,p.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z"}))}const v=p.forwardRef(g);var w=r(848);const x=e=>{switch(e){case"Parcel":default:return(0,w.jsx)(h,{className:"w-10 h-10 mr-4",style:{color:"var(--fraktvalg-tertiary-color)"}});case"HomeDelivery":return(0,w.jsx)(f,{className:"w-10 h-10 mr-4",style:{color:"var(--fraktvalg-tertiary-color)"}});case"ServiceParcel":return(0,w.jsx)(v,{className:"w-10 h-10 mr-4",style:{color:"var(--fraktvalg-tertiary-color)"}})}};function y({title:e,titleId:t,...r},i){return p.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?p.createElement("title",{id:t},e):null,p.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const k=p.forwardRef(y);function b(){return(0,w.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,w.jsx)(k,{className:"h-8 w-8 animate-spin text-primary"}),(0,w.jsx)("div",{className:"text-lg",children:(0,o.__)("Fetching the best shipping options...","fraktvalg")})]})}function j({title:e,titleId:t,...r},i){return p.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?p.createElement("title",{id:t},e):null,p.createElement("path",{fillRule:"evenodd",d:"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z",clipRule:"evenodd"}))}const _=p.forwardRef(j);function O({title:e,titleId:t,...r},i){return p.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?p.createElement("title",{id:t},e):null,p.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const S=p.forwardRef(O);function E(e){var t,r,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=E(e[t]))&&(i&&(i+=" "),i+=r)}else for(r in e)e[r]&&(i&&(i+=" "),i+=r);return i}function N(){for(var e,t,r=0,i="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=E(e))&&(i&&(i+=" "),i+=t);return i}const C=e=>"function"==typeof wc.priceFormat.formatPrice?wc.priceFormat.formatPrice(e):(e/100).toFixed(2);function R({methods:e,selectedShippingMethod:t,onSelectMethod:r,setSelectedShipper:i,showReturnButton:a=!0,isEditor:s=!1,isLoading:l=!1}){return(0,w.jsxs)("div",{className:"py-4",children:[a&&(0,w.jsxs)("button",{className:"mb-4 px-4 py-2 pl-0 transition-all bg-transparent hover:text-secondary rounded-lg",onClick:()=>i(null),disabled:s||l,style:{opacity:s||l?.5:1,cursor:s||l?"not-allowed":"pointer"},children:[(0,w.jsx)(_,{className:"w-4 h-4 inline-block mr-2"}),(0,o.__)("Return to shipping providers","fraktvalg")]}),(0,w.jsx)("div",{className:"flex flex-col gap-2",children:e.map(((e,i)=>(0,w.jsxs)("div",{className:N("border rounded-lg p-4 flex flex-col sm:flex-row transition-all duraction-300 items-center justify-between",{"cursor-pointer hover:bg-tertiary/10 hover:shadow-md":!l,"cursor-not-allowed opacity-50":l&&e?.rate_id!==t}),onClick:()=>!l&&r(e),children:[(0,w.jsxs)("div",{className:"flex items-center",children:[e?.rate_id===t?(0,w.jsx)(S,{className:"w-10 h-10 mr-4 text-primary inline-block"}):e?.icon&&e.icon,(0,w.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,w.jsx)("span",{className:"text-md font-semibold",children:e.name}),(0,w.jsx)("span",{className:"text-sm italic",children:e.description}),(0,w.jsx)("p",{className:"text-sm text-gray-600 flex items-center",children:e.shippingTime})]})]}),(0,w.jsx)("p",{className:"text-md font-medium mt-2 sm:mt-0",children:C(e.price)})]},i)))})]})}function M({logo:e=null,...t}){const{alt:r=""}=t;return e?e.startsWith("http")||e.startsWith("data:image")?(0,w.jsx)("img",{src:e,alt:r,...t}):(e.startsWith("https")||(e=encodeURIComponent(e)),(0,w.jsx)("img",{src:"data:image/svg+xml;utf8,"+e,alt:r,...t})):(0,w.jsx)(h,{...t})}function L({title:e,titleId:t,...r},i){return p.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?p.createElement("title",{id:t},e):null,p.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}))}const T=p.forwardRef(L);function P({shippers:e,onSelectShipper:t,editorMode:r}){return(0,w.jsx)("div",{className:"py-4 flex flex-col gap-2",children:Object.entries(e).map((([e,i])=>(0,w.jsxs)("div",{className:"border rounded-lg p-4 bg-white flex flex-col sm:flex-row transition-all duration-300 items-center justify-between cursor-pointer hover:bg-tertiary/10 hover:shadow-md",onClick:()=>"multiple"!==r&&t(i),children:[(0,w.jsxs)("div",{className:"flex items-center",children:[(0,w.jsx)(M,{logo:i?.texts?.logo?.url,alt:i?.details?.label,className:"w-8 h-8 mr-2"}),(0,w.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,w.jsxs)("span",{className:"text-md font-semibold",children:["Fraktes av ",i?.details?.label]}),(0,w.jsxs)("p",{className:"text-sm text-gray-600 flex items-center",children:[(0,w.jsx)(T,{className:"w-4 h-4 inline-block mr-2"}),i?.details?.quickestShippingTime]})]})]}),(0,w.jsxs)("p",{className:"text-md font-medium mt-2 sm:mt-0",children:["Fra ",C(i?.details?.LowestPrice)]})]},e)))})}function D({attributes:e={}}){const{primaryColor:t="#2F463E",secondaryColor:r="#4D8965",tertiaryColor:i="#65C7A4"}=e,[a,n]=(0,s.useState)(null),[p,m]=(0,s.useState)(null),[h,u]=(0,s.useState)(!0),[f,g]=(0,s.useState)(!1),[v,y]=(0,s.useState)({}),[k,j]=(0,s.useState)(!1),_=(0,l.useBlockProps)({className:"wp-block-fraktvalg-shipping-selector"}),O={"--fraktvalg-primary-color":t,"--fraktvalg-secondary-color":r,"--fraktvalg-tertiary-color":i},S=e=>{e&&e.rate_id&&(g(!0),c()({path:"/wc/store/v1/cart/select-shipping-rate",method:"POST",data:{package_id:0,rate_id:e.rate_id}}).then((t=>{m(e.rate_id),(0,d.dispatch)("wc/store/cart").invalidateResolutionForStore()})).catch((e=>{m(null)})).finally((()=>{g(!1)})))},E=()=>{u(!0),c()({path:"/wc/store/v1/cart",method:"GET"}).then((e=>{let t=function(e){let t=[],r={},i=null,a={},s=null;return e?.shipping_rates?.forEach((e=>{e?.shipping_rates?.forEach((e=>{e?.meta_data?.some((e=>"fraktvalg"===e.key))&&(r=e?.meta_data?.find((e=>"option"===e.key))?.value||{},i=e?.rate_id.split(":")[0],t.some((e=>e.id===i))?(s=t.find((e=>e.id===i)),s&&e.price<s.details.LowestPrice&&(s.details.LowestPrice=e.price)):(a=e?.meta_data.find((e=>"option"===e.key))?.value||{},t.push({id:i,details:{label:r?.texts?.shipperName,quickestShippingTime:"2 virkedager",LowestPrice:e.price},shippingOptions:[],...a})))}))})),t}(e);t.forEach((t=>{const r=function(e,t){let r=[];return e?.shipping_rates?.forEach((e=>{e?.shipping_rates?.forEach((e=>{if(!e?.meta_data?.some((e=>"fraktvalg"===e.key)))return;let i=e?.rate_id.split(":")[0],a=e?.meta_data.find((e=>"option"===e.key))?.value,s=a?.delivery?.estimatedDate||(new Date).toISOString().split("T")[0];i===t.id&&r.push({rate_id:e?.rate_id,name:e?.name,description:a?.texts?.description,price:e?.price,icon:a?.delivery?.serviceCode,selected:e?.selected||!1,delivery:{date:s,days:Math.max(1,Math.ceil((new Date(s)-new Date)/864e5))}})}))})),r}(e,t);t.shippingOptions=r.map((e=>({rate_id:e.rate_id,name:e.name,description:e.description,price:e.price,shippingTime:"1-3 virkedager",icon:x(e.delivery.serviceCode),selected:e.selected,delivery:{days:e.delivery.days}})));const i=t?.shippingOptions.find((e=>e.selected))||null;i&&(n(t),m(i.rate_id)),t.details.LowestPrice=Math.min(...t.shippingOptions.map((e=>e.price))),t.details.quickestShippingTime=Math.min(...t.shippingOptions.map((e=>e.delivery.days)))+(0,o.__)(" business days","fraktvalg")})),y(t)})).catch((e=>console.error("Error fetching shipping options:",e))).finally((()=>{u(!1)}))},N=(0,s.useCallback)((()=>{window.shippingOptionsTimeout&&clearTimeout(window.shippingOptionsTimeout),window.shippingOptionsTimeout=setTimeout((()=>{E()}),1e3)}),[]);return(0,s.useEffect)((()=>{E();const e=(0,d.select)("wc/store/cart").getCartData();console.log("Initial Cart Data:",e);let t=JSON.stringify(e.shippingAddress);const r=(0,d.subscribe)((()=>{const e=(0,d.select)("wc/store/cart").getCartData(),r=JSON.stringify(e.shippingAddress);t!==r&&(console.log("Shipping Address Changed:",e.shippingAddress),t=r,N())}));return()=>{r(),window.shippingOptionsTimeout&&clearTimeout(window.shippingOptionsTimeout)}}),[N]),(0,w.jsx)("div",{..._,style:O,children:h?(0,w.jsx)(b,{}):1!==v.length||k?!a||k?(0,w.jsx)(P,{shippers:v,onSelectShipper:e=>{n(e),j(!1)},selectedShippingMethod:p}):(0,w.jsx)(R,{methods:a.shippingOptions,setSelectedShipper:()=>n(null),selectedShippingMethod:p,onSelectMethod:S,isLoading:f}):(0,w.jsx)(R,{methods:v[0].shippingOptions,setSelectedShipper:()=>j(!0),selectedShippingMethod:p,onSelectMethod:S,isLoading:f,showReturnButton:!1})})}var B=r(338);(0,i.registerCheckoutBlock)({metadata:a,component:()=>(0,w.jsx)(D,{})});let F=0;const I=()=>{const e=document.getElementById("fraktvalg-shipping");if(e){let t={};try{const r=e.getAttribute("data-attributes");r&&(t=JSON.parse(r))}catch(e){console.error("Error parsing Fraktvalg block attributes:",e)}(0,B.H)(e).render((0,w.jsx)(D,{attributes:t}))}else F<60&&(F++,setTimeout(I,1e3))};I()},338:(e,t,r)=>{var i=r(795);t.H=i.createRoot,i.hydrateRoot},20:(e,t,r)=>{var i=r(609),a=Symbol.for("react.element"),s=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),l=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function n(e,t,r){var i,n={},c=null,d=null;for(i in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)s.call(t,i)&&!o.hasOwnProperty(i)&&(n[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===n[i]&&(n[i]=t[i]);return{$$typeof:a,type:e,key:c,ref:d,props:n,_owner:l.current}}t.jsx=n,t.jsxs=n},848:(e,t,r)=>{e.exports=r(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM}},r={};function i(e){var a=r[e];if(void 0!==a)return a.exports;var s=r[e]={exports:{}};return t[e](s,s.exports,i),s.exports}i.m=t,e=[],i.O=(t,r,a,s)=>{if(!r){var l=1/0;for(d=0;d<e.length;d++){for(var[r,a,s]=e[d],o=!0,n=0;n<r.length;n++)(!1&s||l>=s)&&Object.keys(i.O).every((e=>i.O[e](r[n])))?r.splice(n--,1):(o=!1,s<l&&(l=s));if(o){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}s=s||0;for(var d=e.length;d>0&&e[d-1][2]>s;d--)e[d]=e[d-1];e[d]=[r,a,s]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={64:0,920:0};i.O.j=t=>0===e[t];var t=(t,r)=>{var a,s,[l,o,n]=r,c=0;if(l.some((t=>0!==e[t]))){for(a in o)i.o(o,a)&&(i.m[a]=o[a]);if(n)var d=n(i)}for(t&&t(r);c<l.length;c++)s=l[c],i.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return i.O(d)},r=globalThis.webpackChunkfraktvalg=globalThis.webpackChunkfraktvalg||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var a=i.O(void 0,[920],(()=>i(380)));a=i.O(a)})(); -
fraktvalg/trunk/build/Blocks/ShippingSelector/index.asset.php
r3260012 r3267354 1 <?php return array('dependencies' => array('react', 'wc-blocks-checkout', 'w p-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'a6a3abae1fd63a003ffe');1 <?php return array('dependencies' => array('react', 'wc-blocks-checkout', 'wc-blocks-data-store', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => 'd0aedb33e9727e643b63'); -
fraktvalg/trunk/build/Blocks/ShippingSelector/index.js
r3260012 r3267354 1 (()=>{"use strict";var e,t={ 658:(e,t,r)=>{const i=window.wp.blocks,s=window.wc.blocksCheckout,a=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"fraktvalg/shipping-selector","version":"1.0.0","title":"Fraktvalg","category":"widgets","description":"Shipping selector from Fraktvalg","parent":["woocommerce/checkout-fields-block","woocommerce/cart-order-summary-totals-block"],"keywords":["fraktvalg","shipping"],"attributes":{"lock":{"type":"object","default":{"remove":true,"move":false}}},"supports":{"html":false,"multiple":false,"reusable":false,"inserter":false,"lock":false},"textdomain":"fraktvalg","editorScript":"file:./index.js","viewScript":"file:./frontend.js","style":"file:./style-frontend.css","render":"file:./render.php"}'),l=window.wp.blockEditor,n=window.wp.components,o=window.wp.element,c=window.wp.i18n;var d=r(609);function p({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"}))}const m=d.forwardRef(p);function f({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const h=d.forwardRef(f);var u=r(848);function v(){return(0,u.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,u.jsx)(h,{className:"h-8 w-8 animate-spin text-primary"}),(0,u.jsx)("div",{className:"text-lg",children:(0,c.__)("Fetching the best shipping options...","fraktvalg")})]})}function g({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{fillRule:"evenodd",d:"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z",clipRule:"evenodd"}))}const x=d.forwardRef(g);function w({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const k=d.forwardRef(w);function j(e){var t,r,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(r=j(e[t]))&&(i&&(i+=" "),i+=r)}else for(r in e)e[r]&&(i&&(i+=" "),i+=r);return i}function y(){for(var e,t,r=0,i="",s=arguments.length;r<s;r++)(e=arguments[r])&&(t=j(e))&&(i&&(i+=" "),i+=t);return i}const b=e=>"function"==typeof wc.priceFormat.formatPrice?wc.priceFormat.formatPrice(e):(e/100).toFixed(2);function _({methods:e,selectedShippingMethod:t,onSelectMethod:r,setSelectedShipper:i}){return(0,u.jsxs)("div",{className:"p-4",children:[(0,u.jsxs)("button",{className:"mb-4 px-4 py-2 pl-0 transition-all bg-transparent hover:text-secondary rounded-lg",onClick:()=>i(null),children:[(0,u.jsx)(x,{className:"w-4 h-4 inline-block mr-2"}),(0,c.__)("Return to shipping providers","fraktvalg")]}),(0,u.jsx)("div",{className:"flex flex-col gap-2",children:e.map(((e,i)=>(0,u.jsxs)("div",{className:y("border rounded-lg p-4 flex flex-col sm:flex-row transition-all duraction-300 items-center justify-between cursor-pointer hover:bg-tertiary/10 hover:shadow-md"),onClick:()=>r(e),children:[(0,u.jsxs)("div",{className:"flex items-center",children:[e?.rate_id===t?(0,u.jsx)(k,{className:"w-10 h-10 mr-4 text-primary inline-block"}):e?.icon&&e.icon,(0,u.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,u.jsx)("span",{className:"text-md font-semibold",children:e.name}),(0,u.jsx)("p",{className:"text-sm text-gray-600 flex items-center",children:e.shippingTime})]})]}),(0,u.jsx)("p",{className:"text-md font-medium mt-2 sm:mt-0",children:b(e.price)})]},i)))})]})}function O({logo:e=null,...t}){const{alt:r=""}=t;return e?e.startsWith("http")?(0,u.jsx)("img",{src:e,alt:r,...t}):(e.startsWith("https")||(e=encodeURIComponent(e)),(0,u.jsx)("img",{src:"data:image/svg+xml;utf8,"+e,alt:r,...t})):(0,u.jsx)(m,{...t})}function E({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}))}const N=d.forwardRef(E);function S({shippers:e,onSelectShipper:t}){return(0,u.jsx)("div",{className:"p-4 flex flex-col gap-2",children:Object.entries(e).map((([e,r])=>(0,u.jsxs)("div",{className:"border rounded-lg p-4 bg-white flex flex-col sm:flex-row transition-all duration-300 items-center justify-between cursor-pointer hover:bg-tertiary/10 hover:shadow-md",onClick:()=>t(r),children:[(0,u.jsxs)("div",{className:"flex items-center",children:[(0,u.jsx)(O,{logo:r?.texts?.logo?.url,alt:r?.details?.label,className:"w-8 h-8 mr-2"}),(0,u.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,u.jsxs)("span",{className:"text-md font-semibold",children:["Fraktes av ",r?.details?.label]}),(0,u.jsxs)("p",{className:"text-sm text-gray-600 flex items-center",children:[(0,u.jsx)(N,{className:"w-4 h-4 inline-block mr-2"}),r?.details?.quickestShippingTime]})]})]}),(0,u.jsxs)("p",{className:"text-md font-medium mt-2 sm:mt-0",children:["Fra ",b(r?.details?.LowestPrice)]})]},e)))})}function R({className:e,isEditor:t=!1}){const[r,i]=(0,o.useState)(null),[s,a]=(0,o.useState)(null),[n,d]=(0,o.useState)(!0),[p,f]=(0,o.useState)({}),h=(0,l.useBlockProps)();return(0,o.useEffect)((()=>{t||(d(!0),fetch("/wp-json/wc/store/v1/cart").then((e=>e.json())).then((e=>{let t=function(e){let t=[],r={},i=null,s={},a=null;return e?.shipping_rates?.forEach((e=>{e?.shipping_rates?.forEach((e=>{e?.meta_data?.some((e=>"fraktvalg"===e.key))&&(r=e?.meta_data?.find((e=>"option"===e.key))?.value||{},i=e?.rate_id.split(":")[0],t.some((e=>e.id===i))?(a=t.find((e=>e.id===i)),a&&e.price<a.details.LowestPrice&&(a.details.LowestPrice=e.price)):(s=e?.meta_data.find((e=>"option"===e.key))?.value||{},t.push({id:i,details:{label:r?.texts?.shipperName,quickestShippingTime:"2 virkedager",LowestPrice:e.price},shippingOptions:[],...s})))}))})),t}(e);t.forEach((t=>{const r=function(e,t){let r=[];return e?.shipping_rates?.forEach((e=>{e?.shipping_rates?.forEach((e=>{if(!e?.meta_data?.some((e=>"fraktvalg"===e.key)))return;let i=e?.rate_id.split(":")[0],s=e?.meta_data.find((e=>"option"===e.key))?.value,a=s?.delivery?.estimatedDate||(new Date).toISOString().split("T")[0];i===t.id&&r.push({rate_id:e?.rate_id,name:e?.name,price:e?.price,selected:e?.selected||!1,delivery:{date:a,days:Math.max(1,Math.ceil((new Date(a)-new Date)/864e5))}})}))})),r}(e,t);t.shippingOptions=r.map((e=>({rate_id:e.rate_id,name:e.name,price:e.price,shippingTime:"1-3 virkedager",icon:(0,u.jsx)(m,{className:"w-10 h-10 mr-4 text-tertiary inline-block"}),selected:e.selected,delivery:{days:e.delivery.days}})));const s=t?.shippingOptions.find((e=>e.selected))||null;s&&(i(t),a(s.rate_id)),t.details.LowestPrice=Math.min(...t.shippingOptions.map((e=>e.price))),t.details.quickestShippingTime=Math.min(...t.shippingOptions.map((e=>e.delivery.days)))+(0,c.__)(" business days","fraktvalg")})),f(t),d(!1)})).catch((e=>console.error("Error fetching shipping options:",e))))}),[]),t?(0,u.jsx)("div",{...h,children:(0,u.jsx)(v,{})}):(0,u.jsxs)(u.Fragment,{children:[n&&(0,u.jsx)(v,{}),!n&&!r&&(0,u.jsx)(S,{shippers:p,onSelectShipper:i}),!n&&r&&(0,u.jsx)(_,{methods:r.shippingOptions,setSelectedShipper:i,selectedShippingMethod:s,onSelectMethod:e=>{fetch("/wp-json/wc/store/v1/cart/select-shipping-rate",{method:"POST",body:JSON.stringify({package_id:0,rate_id:e?.rate_id})}).then((e=>e.json())).then((t=>{a(e?.rate_id),console.log(t)})).catch((e=>console.error("Error selecting shipping method:",e)))}})]})}(0,i.registerBlockType)(a,{edit:function({attributes:e}){const{className:t}=e,r=(0,l.useBlockProps)();return(0,u.jsx)("div",{...r,children:(0,u.jsx)(n.Disabled,{children:(0,u.jsx)(R,{isEditor:!0,className:t})})})},save:()=>null}),(0,s.registerCheckoutBlock)({metadata:a,component:()=>(0,u.jsx)(R,{})})},20:(e,t,r)=>{var i=r(609),s=Symbol.for("react.element"),a=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,n=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var i,a={},c=null,d=null;for(i in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)l.call(t,i)&&!o.hasOwnProperty(i)&&(a[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===a[i]&&(a[i]=t[i]);return{$$typeof:s,type:e,key:c,ref:d,props:a,_owner:n.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},848:(e,t,r)=>{e.exports=r(20)},609:e=>{e.exports=window.React}},r={};function i(e){var s=r[e];if(void 0!==s)return s.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,i),a.exports}i.m=t,e=[],i.O=(t,r,s,a)=>{if(!r){var l=1/0;for(d=0;d<e.length;d++){r=e[d][0],s=e[d][1],a=e[d][2];for(var n=!0,o=0;o<r.length;o++)(!1&a||l>=a)&&Object.keys(i.O).every((e=>i.O[e](r[o])))?r.splice(o--,1):(n=!1,a<l&&(l=a));if(n){e.splice(d--,1);var c=s();void 0!==c&&(t=c)}}return t}a=a||0;for(var d=e.length;d>0&&e[d-1][2]>a;d--)e[d]=e[d-1];e[d]=[r,s,a]},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={328:0,920:0};i.O.j=t=>0===e[t];var t=(t,r)=>{var s,a,l=r[0],n=r[1],o=r[2],c=0;if(l.some((t=>0!==e[t]))){for(s in n)i.o(n,s)&&(i.m[s]=n[s]);if(o)var d=o(i)}for(t&&t(r);c<l.length;c++)a=l[c],i.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return i.O(d)},r=self.webpackChunkfraktvalg=self.webpackChunkfraktvalg||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var s=i.O(void 0,[920],(()=>i(658)));s=i.O(s)})();1 (()=>{"use strict";var e,t={870:(e,t,r)=>{const i=window.wp.blocks,a=window.wc.blocksCheckout,s=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"fraktvalg/shipping-selector","version":"1.0.0","title":"Fraktvalg","category":"widgets","description":"Shipping selector from Fraktvalg","parent":["woocommerce/checkout-fields-block","woocommerce/cart-order-summary-totals-block"],"keywords":["fraktvalg","shipping"],"attributes":{"lock":{"type":"object","default":{"remove":true,"move":false}},"primaryColor":{"type":"string","default":"#2F463E"},"secondaryColor":{"type":"string","default":"#4D8965"},"tertiaryColor":{"type":"string","default":"#65C7A4"},"style":{"type":"object"}},"supports":{"html":false,"multiple":false,"reusable":false,"inserter":false,"lock":false,"color":false,"spacing":false,"typography":false,"__experimentalBorder":false},"styles":[{"name":"default","label":"Default","isDefault":true}],"textdomain":"fraktvalg","editorScript":"file:./index.js","viewScript":"file:./frontend.js","style":"file:./style-frontend.css","render":"file:./render.php"}'),l=window.wp.element,n=window.wp.blockEditor,o=window.wp.i18n,c=window.wp.components;var d=r(609);function p({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"}))}const h=d.forwardRef(p),m=JSON.parse('{"single":[{"id":"1","name":"Express Shipping","details":{"LowestPrice":99,"quickestShippingTime":"1-2 business days"},"shippingOptions":[{"rate_id":"express_standard","name":"Standard Delivery","price":99,"shippingTime":"2-3 virkedager","delivery":{"days":2}},{"rate_id":"express_priority","name":"Priority Delivery","price":149,"shippingTime":"1-2 virkedager","delivery":{"days":1}}]}],"multiple":[{"id":"1","name":"Fast Shipping","details":{"LowestPrice":149,"quickestShippingTime":"1 business day"},"shippingOptions":[{"rate_id":"fast_priority","name":"Priority Delivery","price":149,"shippingTime":"1-2 virkedager","delivery":{"days":1}},{"rate_id":"fast_express","name":"Express Delivery","price":199,"shippingTime":"Same Day","delivery":{"days":0}}]},{"id":"2","name":"Budget Shipping","details":{"LowestPrice":49,"quickestShippingTime":"3 business days"},"shippingOptions":[{"rate_id":"budget_standard","name":"Standard Delivery","price":49,"shippingTime":"3-5 virkedager","delivery":{"days":3}},{"rate_id":"budget_express","name":"Express Delivery","price":79,"shippingTime":"2-3 virkedager","delivery":{"days":2}}]}]}');function u({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{fillRule:"evenodd",d:"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z",clipRule:"evenodd"}))}const g=d.forwardRef(u);function f({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const v=d.forwardRef(f);function y(e){var t,r,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=y(e[t]))&&(i&&(i+=" "),i+=r)}else for(r in e)e[r]&&(i&&(i+=" "),i+=r);return i}function x(){for(var e,t,r=0,i="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=y(e))&&(i&&(i+=" "),i+=t);return i}const w=e=>"function"==typeof wc.priceFormat.formatPrice?wc.priceFormat.formatPrice(e):(e/100).toFixed(2);var k=r(848);function j({methods:e,selectedShippingMethod:t,onSelectMethod:r,setSelectedShipper:i,showReturnButton:a=!0,isEditor:s=!1,isLoading:l=!1}){return(0,k.jsxs)("div",{className:"py-4",children:[a&&(0,k.jsxs)("button",{className:"mb-4 px-4 py-2 pl-0 transition-all bg-transparent hover:text-secondary rounded-lg",onClick:()=>i(null),disabled:s||l,style:{opacity:s||l?.5:1,cursor:s||l?"not-allowed":"pointer"},children:[(0,k.jsx)(g,{className:"w-4 h-4 inline-block mr-2"}),(0,o.__)("Return to shipping providers","fraktvalg")]}),(0,k.jsx)("div",{className:"flex flex-col gap-2",children:e.map(((e,i)=>(0,k.jsxs)("div",{className:x("border rounded-lg p-4 flex flex-col sm:flex-row transition-all duraction-300 items-center justify-between",{"cursor-pointer hover:bg-tertiary/10 hover:shadow-md":!l,"cursor-not-allowed opacity-50":l&&e?.rate_id!==t}),onClick:()=>!l&&r(e),children:[(0,k.jsxs)("div",{className:"flex items-center",children:[e?.rate_id===t?(0,k.jsx)(v,{className:"w-10 h-10 mr-4 text-primary inline-block"}):e?.icon&&e.icon,(0,k.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,k.jsx)("span",{className:"text-md font-semibold",children:e.name}),(0,k.jsx)("span",{className:"text-sm italic",children:e.description}),(0,k.jsx)("p",{className:"text-sm text-gray-600 flex items-center",children:e.shippingTime})]})]}),(0,k.jsx)("p",{className:"text-md font-medium mt-2 sm:mt-0",children:w(e.price)})]},i)))})]})}function b({logo:e=null,...t}){const{alt:r=""}=t;return e?e.startsWith("http")||e.startsWith("data:image")?(0,k.jsx)("img",{src:e,alt:r,...t}):(e.startsWith("https")||(e=encodeURIComponent(e)),(0,k.jsx)("img",{src:"data:image/svg+xml;utf8,"+e,alt:r,...t})):(0,k.jsx)(h,{...t})}function _({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}))}const S=d.forwardRef(_);function C({shippers:e,onSelectShipper:t,editorMode:r}){return(0,k.jsx)("div",{className:"py-4 flex flex-col gap-2",children:Object.entries(e).map((([e,i])=>(0,k.jsxs)("div",{className:"border rounded-lg p-4 bg-white flex flex-col sm:flex-row transition-all duration-300 items-center justify-between cursor-pointer hover:bg-tertiary/10 hover:shadow-md",onClick:()=>"multiple"!==r&&t(i),children:[(0,k.jsxs)("div",{className:"flex items-center",children:[(0,k.jsx)(b,{logo:i?.texts?.logo?.url,alt:i?.details?.label,className:"w-8 h-8 mr-2"}),(0,k.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,k.jsxs)("span",{className:"text-md font-semibold",children:["Fraktes av ",i?.details?.label]}),(0,k.jsxs)("p",{className:"text-sm text-gray-600 flex items-center",children:[(0,k.jsx)(S,{className:"w-4 h-4 inline-block mr-2"}),i?.details?.quickestShippingTime]})]})]}),(0,k.jsxs)("p",{className:"text-md font-medium mt-2 sm:mt-0",children:["Fra ",w(i?.details?.LowestPrice)]})]},e)))})}function O({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const E=d.forwardRef(O);function N(){return(0,k.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,k.jsx)(E,{className:"h-8 w-8 animate-spin text-primary"}),(0,k.jsx)("div",{className:"text-lg",children:(0,o.__)("Fetching the best shipping options...","fraktvalg")})]})}const M=window.wp.apiFetch;var P=r.n(M);const T=window.wp.data;function R({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"}))}window.wc.wcBlocksData;const B=d.forwardRef(R);function L({title:e,titleId:t,...r},i){return d.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},r),e?d.createElement("title",{id:t},e):null,d.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z"}))}const D=d.forwardRef(L),F=e=>{switch(e){case"Parcel":default:return(0,k.jsx)(h,{className:"w-10 h-10 mr-4",style:{color:"var(--fraktvalg-tertiary-color)"}});case"HomeDelivery":return(0,k.jsx)(B,{className:"w-10 h-10 mr-4",style:{color:"var(--fraktvalg-tertiary-color)"}});case"ServiceParcel":return(0,k.jsx)(D,{className:"w-10 h-10 mr-4",style:{color:"var(--fraktvalg-tertiary-color)"}})}};(0,i.registerBlockType)(s.name,{...s,edit:function({attributes:e,setAttributes:t}){const{primaryColor:r="#2F463E",secondaryColor:i="#4D8965",tertiaryColor:a="#65C7A4",editorMode:s="single"}=e,[d,p]=(0,l.useState)(null),[u,g]=(0,l.useState)(null),[f,v]=(0,l.useState)(!0),[y,x]=(0,l.useState)({}),[w,b]=(0,l.useState)(null),_=(0,n.useBlockProps)(),S={"--fraktvalg-primary-color":r,"--fraktvalg-secondary-color":i,"--fraktvalg-tertiary-color":a},O=e=>{g(e?.rate_id)};return(0,l.useEffect)((()=>{const e=m[s];if(e){const t=e.map((e=>({...e,shippingOptions:e.shippingOptions.map((e=>({...e,icon:(0,k.jsx)(h,{className:"w-10 h-10 mr-4",style:{color:"var(--fraktvalg-tertiary-color)"}})})))})));x(t),p(null),g(null),v(!1)}}),[s]),(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(n.InspectorControls,{children:(0,k.jsx)(c.PanelBody,{title:(0,o.__)("Preview Settings","fraktvalg"),initialOpen:!0,children:(0,k.jsx)(c.PanelRow,{children:(0,k.jsxs)(c.__experimentalVStack,{spacing:2,children:[(0,k.jsx)("p",{className:"text-sm",children:(0,o.__)("Preview Mode:","fraktvalg")}),(0,k.jsxs)(c.ButtonGroup,{children:[(0,k.jsx)(c.Button,{variant:"single"===s?"primary":"secondary",onClick:()=>t({editorMode:"single"}),children:(0,o.__)("Shipping methods","fraktvalg")}),(0,k.jsx)(c.Button,{variant:"multiple"===s?"primary":"secondary",onClick:()=>t({editorMode:"multiple"}),children:(0,o.__)("Shipping providers","fraktvalg")})]})]})})})}),(0,k.jsx)(n.InspectorControls,{group:"styles",children:(0,k.jsx)(c.PanelBody,{title:(0,o.__)("Color Settings","fraktvalg"),initialOpen:!0,children:(0,k.jsx)(c.PanelRow,{children:(0,k.jsxs)(c.__experimentalVStack,{spacing:4,children:[(0,k.jsxs)("div",{className:"flex items-center gap-2",children:[(0,k.jsx)(c.ColorIndicator,{colorValue:r}),(0,k.jsx)(c.Button,{variant:"link",onClick:()=>b("primary"===w?null:"primary"),children:(0,o.__)("Primary Color","fraktvalg")})]}),"primary"===w&&(0,k.jsx)(c.ColorPicker,{color:r,onChange:e=>t({primaryColor:e}),enableAlpha:!1}),(0,k.jsxs)("div",{className:"flex items-center gap-2",children:[(0,k.jsx)(c.ColorIndicator,{colorValue:i}),(0,k.jsx)(c.Button,{variant:"link",onClick:()=>b("secondary"===w?null:"secondary"),children:(0,o.__)("Secondary Color","fraktvalg")})]}),"secondary"===w&&(0,k.jsx)(c.ColorPicker,{color:i,onChange:e=>t({secondaryColor:e}),enableAlpha:!1}),(0,k.jsxs)("div",{className:"flex items-center gap-2",children:[(0,k.jsx)(c.ColorIndicator,{colorValue:a}),(0,k.jsx)(c.Button,{variant:"link",onClick:()=>b("tertiary"===w?null:"tertiary"),children:(0,o.__)("Tertiary Color","fraktvalg")})]}),"tertiary"===w&&(0,k.jsx)(c.ColorPicker,{color:a,onChange:e=>t({tertiaryColor:e}),enableAlpha:!1})]})})})}),(0,k.jsx)("div",{..._,style:S,children:f?(0,k.jsx)(N,{}):(0,k.jsx)(k.Fragment,{children:1===y.length?(0,k.jsx)(j,{methods:y[0].shippingOptions,setSelectedShipper:p,selectedShippingMethod:u,onSelectMethod:O}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(C,{shippers:y,onSelectShipper:e=>{"multiple"!==s&&p(e)},selectedShippingMethod:u,editorMode:s}),d&&"multiple"!==s&&(0,k.jsx)(j,{methods:d.shippingOptions,setSelectedShipper:p,selectedShippingMethod:u,onSelectMethod:O})]})})})]})},save:()=>null}),(0,a.registerCheckoutBlock)({metadata:s,component:function({attributes:e={}}){const{primaryColor:t="#2F463E",secondaryColor:r="#4D8965",tertiaryColor:i="#65C7A4"}=e,[a,s]=(0,l.useState)(null),[c,d]=(0,l.useState)(null),[p,h]=(0,l.useState)(!0),[m,u]=(0,l.useState)(!1),[g,f]=(0,l.useState)({}),[v,y]=(0,l.useState)(!1),x=(0,n.useBlockProps)({className:"wp-block-fraktvalg-shipping-selector"}),w={"--fraktvalg-primary-color":t,"--fraktvalg-secondary-color":r,"--fraktvalg-tertiary-color":i},b=e=>{e&&e.rate_id&&(u(!0),P()({path:"/wc/store/v1/cart/select-shipping-rate",method:"POST",data:{package_id:0,rate_id:e.rate_id}}).then((t=>{d(e.rate_id),(0,T.dispatch)("wc/store/cart").invalidateResolutionForStore()})).catch((e=>{d(null)})).finally((()=>{u(!1)})))},_=()=>{h(!0),P()({path:"/wc/store/v1/cart",method:"GET"}).then((e=>{let t=function(e){let t=[],r={},i=null,a={},s=null;return e?.shipping_rates?.forEach((e=>{e?.shipping_rates?.forEach((e=>{e?.meta_data?.some((e=>"fraktvalg"===e.key))&&(r=e?.meta_data?.find((e=>"option"===e.key))?.value||{},i=e?.rate_id.split(":")[0],t.some((e=>e.id===i))?(s=t.find((e=>e.id===i)),s&&e.price<s.details.LowestPrice&&(s.details.LowestPrice=e.price)):(a=e?.meta_data.find((e=>"option"===e.key))?.value||{},t.push({id:i,details:{label:r?.texts?.shipperName,quickestShippingTime:"2 virkedager",LowestPrice:e.price},shippingOptions:[],...a})))}))})),t}(e);t.forEach((t=>{const r=function(e,t){let r=[];return e?.shipping_rates?.forEach((e=>{e?.shipping_rates?.forEach((e=>{if(!e?.meta_data?.some((e=>"fraktvalg"===e.key)))return;let i=e?.rate_id.split(":")[0],a=e?.meta_data.find((e=>"option"===e.key))?.value,s=a?.delivery?.estimatedDate||(new Date).toISOString().split("T")[0];i===t.id&&r.push({rate_id:e?.rate_id,name:e?.name,description:a?.texts?.description,price:e?.price,icon:a?.delivery?.serviceCode,selected:e?.selected||!1,delivery:{date:s,days:Math.max(1,Math.ceil((new Date(s)-new Date)/864e5))}})}))})),r}(e,t);t.shippingOptions=r.map((e=>({rate_id:e.rate_id,name:e.name,description:e.description,price:e.price,shippingTime:"1-3 virkedager",icon:F(e.delivery.serviceCode),selected:e.selected,delivery:{days:e.delivery.days}})));const i=t?.shippingOptions.find((e=>e.selected))||null;i&&(s(t),d(i.rate_id)),t.details.LowestPrice=Math.min(...t.shippingOptions.map((e=>e.price))),t.details.quickestShippingTime=Math.min(...t.shippingOptions.map((e=>e.delivery.days)))+(0,o.__)(" business days","fraktvalg")})),f(t)})).catch((e=>console.error("Error fetching shipping options:",e))).finally((()=>{h(!1)}))},S=(0,l.useCallback)((()=>{window.shippingOptionsTimeout&&clearTimeout(window.shippingOptionsTimeout),window.shippingOptionsTimeout=setTimeout((()=>{_()}),1e3)}),[]);return(0,l.useEffect)((()=>{_();const e=(0,T.select)("wc/store/cart").getCartData();console.log("Initial Cart Data:",e);let t=JSON.stringify(e.shippingAddress);const r=(0,T.subscribe)((()=>{const e=(0,T.select)("wc/store/cart").getCartData(),r=JSON.stringify(e.shippingAddress);t!==r&&(console.log("Shipping Address Changed:",e.shippingAddress),t=r,S())}));return()=>{r(),window.shippingOptionsTimeout&&clearTimeout(window.shippingOptionsTimeout)}}),[S]),(0,k.jsx)("div",{...x,style:w,children:p?(0,k.jsx)(N,{}):1!==g.length||v?!a||v?(0,k.jsx)(C,{shippers:g,onSelectShipper:e=>{s(e),y(!1)},selectedShippingMethod:c}):(0,k.jsx)(j,{methods:a.shippingOptions,setSelectedShipper:()=>s(null),selectedShippingMethod:c,onSelectMethod:b,isLoading:m}):(0,k.jsx)(j,{methods:g[0].shippingOptions,setSelectedShipper:()=>y(!0),selectedShippingMethod:c,onSelectMethod:b,isLoading:m,showReturnButton:!1})})}})},20:(e,t,r)=>{var i=r(609),a=Symbol.for("react.element"),s=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,n=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var i,s={},c=null,d=null;for(i in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)l.call(t,i)&&!o.hasOwnProperty(i)&&(s[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===s[i]&&(s[i]=t[i]);return{$$typeof:a,type:e,key:c,ref:d,props:s,_owner:n.current}}t.Fragment=s,t.jsx=c,t.jsxs=c},848:(e,t,r)=>{e.exports=r(20)},609:e=>{e.exports=window.React}},r={};function i(e){var a=r[e];if(void 0!==a)return a.exports;var s=r[e]={exports:{}};return t[e](s,s.exports,i),s.exports}i.m=t,e=[],i.O=(t,r,a,s)=>{if(!r){var l=1/0;for(d=0;d<e.length;d++){for(var[r,a,s]=e[d],n=!0,o=0;o<r.length;o++)(!1&s||l>=s)&&Object.keys(i.O).every((e=>i.O[e](r[o])))?r.splice(o--,1):(n=!1,s<l&&(l=s));if(n){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}s=s||0;for(var d=e.length;d>0&&e[d-1][2]>s;d--)e[d]=e[d-1];e[d]=[r,a,s]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={328:0,920:0};i.O.j=t=>0===e[t];var t=(t,r)=>{var a,s,[l,n,o]=r,c=0;if(l.some((t=>0!==e[t]))){for(a in n)i.o(n,a)&&(i.m[a]=n[a]);if(o)var d=o(i)}for(t&&t(r);c<l.length;c++)s=l[c],i.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return i.O(d)},r=globalThis.webpackChunkfraktvalg=globalThis.webpackChunkfraktvalg||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var a=i.O(void 0,[920],(()=>i(870)));a=i.O(a)})(); -
fraktvalg/trunk/build/Blocks/ShippingSelector/render.php
r3260012 r3267354 9 9 die(); 10 10 } 11 12 $wrapper_attributes = get_block_wrapper_attributes(); 13 $attributes = $attributes ?? []; // Get block attributes 14 $encoded_attrs = htmlspecialchars( json_encode( $attributes ), ENT_QUOTES, 'UTF-8' ); 11 15 ?> 12 16 13 17 <div 14 18 data-block-name="fraktvalg/shipping-selector" 19 data-attributes="<?php echo $encoded_attrs; ?>" 15 20 id="fraktvalg-shipping" 16 <?php echo get_block_wrapper_attributes(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Core function for outputting pre-escaped content. ?>21 <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Core function for outputting pre-escaped content. ?> 17 22 ></div> -
fraktvalg/trunk/build/Blocks/ShippingSelector/style-frontend-rtl.css
r3260012 r3267354 563 563 margin-bottom: 1rem; 564 564 } 565 .mb-6 { 566 margin-bottom: 1.5rem; 567 } 565 568 .ml-1 { 566 569 margin-right: 0.25rem; 567 570 } 571 .ml-2 { 572 margin-right: 0.5rem; 573 } 568 574 .mr-1 { 569 575 margin-left: 0.25rem; … … 602 608 display: inline-block; 603 609 } 610 .inline { 611 display: inline; 612 } 604 613 .flex { 605 614 display: flex; … … 704 713 max-width: 100%; 705 714 } 715 .flex-1 { 716 flex: 1 1 0%; 717 } 706 718 .shrink-0 { 707 719 flex-shrink: 0; … … 718 730 .animate-spin { 719 731 animation: spin 1s linear infinite; 732 } 733 .cursor-not-allowed { 734 cursor: not-allowed; 720 735 } 721 736 .cursor-pointer { … … 858 873 border-color: rgb(254 202 202 / var(--tw-border-opacity)); 859 874 } 875 .border-red-400 { 876 --tw-border-opacity: 1; 877 border-color: rgb(248 113 113 / var(--tw-border-opacity)); 878 } 860 879 .border-transparent { 861 880 border-color: transparent; … … 1065 1084 color: rgb(17 24 39 / var(--tw-text-opacity)); 1066 1085 } 1086 .text-green-500 { 1087 --tw-text-opacity: 1; 1088 color: rgb(34 197 94 / var(--tw-text-opacity)); 1089 } 1067 1090 .text-green-600 { 1068 1091 --tw-text-opacity: 1; … … 1084 1107 color: rgb(220 38 38 / var(--tw-text-opacity)); 1085 1108 } 1086 .text- tertiary{1087 --tw-text-opacity: 1; 1088 color: rgb(1 01 199 164/ var(--tw-text-opacity));1109 .text-red-700 { 1110 --tw-text-opacity: 1; 1111 color: rgb(185 28 28 / var(--tw-text-opacity)); 1089 1112 } 1090 1113 .text-white { 1091 1114 --tw-text-opacity: 1; 1092 1115 color: rgb(255 255 255 / var(--tw-text-opacity)); 1116 } 1117 .opacity-50 { 1118 opacity: 0.5; 1093 1119 } 1094 1120 .shadow { … … 1102 1128 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1103 1129 } 1130 .shadow-md { 1131 --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); 1132 --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 1133 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1134 } 1104 1135 .shadow-sm { 1105 1136 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); … … 1112 1143 transition-duration: 150ms; 1113 1144 } 1145 .transition-colors { 1146 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; 1147 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1148 transition-duration: 150ms; 1149 } 1114 1150 .duration-200 { 1115 1151 transition-duration: 200ms; … … 1123 1159 .wp-block-woocommerce-checkout-shipping-methods-block { 1124 1160 display: none; 1161 } 1162 1163 /* Define color variables with fallback values from Tailwind config */ 1164 .wp-block-fraktvalg-shipping-selector { 1165 --fraktvalg-primary-color: #2F463E; 1166 --fraktvalg-secondary-color: #4D8965; 1167 --fraktvalg-tertiary-color: #65C7A4; 1168 1169 /* Inherit theme typography */ 1170 font-family: var(--wp--preset--font-family--system-font, inherit); 1171 font-size: var(--wp--preset--font-size--normal, inherit); 1172 line-height: var(--wp--custom--typography--line-height--normal, inherit); 1173 1174 h1, h2, h3, h4, h5, h6 { 1175 font-family: var(--wp--preset--font-family--heading, inherit); 1176 line-height: var(--wp--custom--typography--line-height--heading, inherit); 1177 } 1178 1179 p { 1180 font-family: var(--wp--preset--font-family--body, inherit); 1181 line-height: var(--wp--custom--typography--line-height--paragraph, inherit); 1182 } 1183 } 1184 1185 /* Override Tailwind color classes with CSS variables */ 1186 .wp-block-fraktvalg-shipping-selector { 1187 /* Text colors */ 1188 .text-primary { 1189 color: var(--fraktvalg-primary-color) !important; 1190 } 1191 1192 .text-secondary { 1193 color: var(--fraktvalg-secondary-color) !important; 1194 } 1195 1196 .text-tertiary { 1197 color: var(--fraktvalg-tertiary-color) !important; 1198 } 1199 1200 /* Background colors */ 1201 .bg-primary { 1202 background-color: var(--fraktvalg-primary-color) !important; 1203 } 1204 1205 .bg-secondary { 1206 background-color: var(--fraktvalg-secondary-color) !important; 1207 } 1208 1209 .bg-tertiary { 1210 background-color: var(--fraktvalg-tertiary-color) !important; 1211 } 1212 1213 /* Hover text colors */ 1214 .hover\:text-primary:hover { 1215 color: var(--fraktvalg-primary-color) !important; 1216 } 1217 1218 .hover\:text-secondary:hover { 1219 color: var(--fraktvalg-secondary-color) !important; 1220 } 1221 1222 .hover\:text-tertiary:hover { 1223 color: var(--fraktvalg-tertiary-color) !important; 1224 } 1225 1226 /* Hover background colors */ 1227 .hover\:bg-primary:hover { 1228 background-color: var(--fraktvalg-primary-color) !important; 1229 } 1230 1231 .hover\:bg-secondary:hover { 1232 background-color: var(--fraktvalg-secondary-color) !important; 1233 } 1234 1235 .hover\:bg-tertiary:hover { 1236 background-color: var(--fraktvalg-tertiary-color) !important; 1237 } 1238 1239 /* Border colors */ 1240 .border-primary { 1241 border-color: var(--fraktvalg-primary-color) !important; 1242 } 1243 1244 .border-secondary { 1245 border-color: var(--fraktvalg-secondary-color) !important; 1246 } 1247 1248 .border-tertiary { 1249 border-color: var(--fraktvalg-tertiary-color) !important; 1250 } 1251 1252 /* Hover border colors */ 1253 .hover\:border-primary:hover { 1254 border-color: var(--fraktvalg-primary-color) !important; 1255 } 1256 1257 .hover\:border-secondary:hover { 1258 border-color: var(--fraktvalg-secondary-color) !important; 1259 } 1260 1261 .hover\:border-tertiary:hover { 1262 border-color: var(--fraktvalg-tertiary-color) !important; 1263 } 1125 1264 } 1126 1265 .after\:absolute::after { … … 1184 1323 background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 1185 1324 } 1325 .hover\:bg-gray-50:hover { 1326 --tw-bg-opacity: 1; 1327 background-color: rgb(249 250 251 / var(--tw-bg-opacity)); 1328 } 1186 1329 .hover\:bg-green-700:hover { 1187 1330 --tw-bg-opacity: 1; … … 1254 1397 color: rgb(255 255 255 / var(--tw-text-opacity)); 1255 1398 } 1399 .disabled\:cursor-not-allowed:disabled { 1400 cursor: not-allowed; 1401 } 1256 1402 .disabled\:bg-black\/80:disabled { 1257 1403 background-color: rgb(0 0 0 / 0.8); 1404 } 1405 .disabled\:opacity-50:disabled { 1406 opacity: 0.5; 1258 1407 } 1259 1408 .peer:checked ~ .peer-checked\:block { … … 1302 1451 } 1303 1452 1453 .sm\:inline { 1454 display: inline; 1455 } 1456 1304 1457 .sm\:flex { 1305 1458 display: flex; -
fraktvalg/trunk/build/Blocks/ShippingSelector/style-frontend.css
r3260012 r3267354 563 563 margin-bottom: 1rem; 564 564 } 565 .mb-6 { 566 margin-bottom: 1.5rem; 567 } 565 568 .ml-1 { 566 569 margin-left: 0.25rem; 567 570 } 571 .ml-2 { 572 margin-left: 0.5rem; 573 } 568 574 .mr-1 { 569 575 margin-right: 0.25rem; … … 602 608 display: inline-block; 603 609 } 610 .inline { 611 display: inline; 612 } 604 613 .flex { 605 614 display: flex; … … 704 713 max-width: 100%; 705 714 } 715 .flex-1 { 716 flex: 1 1 0%; 717 } 706 718 .shrink-0 { 707 719 flex-shrink: 0; … … 718 730 .animate-spin { 719 731 animation: spin 1s linear infinite; 732 } 733 .cursor-not-allowed { 734 cursor: not-allowed; 720 735 } 721 736 .cursor-pointer { … … 858 873 border-color: rgb(254 202 202 / var(--tw-border-opacity)); 859 874 } 875 .border-red-400 { 876 --tw-border-opacity: 1; 877 border-color: rgb(248 113 113 / var(--tw-border-opacity)); 878 } 860 879 .border-transparent { 861 880 border-color: transparent; … … 1065 1084 color: rgb(17 24 39 / var(--tw-text-opacity)); 1066 1085 } 1086 .text-green-500 { 1087 --tw-text-opacity: 1; 1088 color: rgb(34 197 94 / var(--tw-text-opacity)); 1089 } 1067 1090 .text-green-600 { 1068 1091 --tw-text-opacity: 1; … … 1084 1107 color: rgb(220 38 38 / var(--tw-text-opacity)); 1085 1108 } 1086 .text- tertiary{1087 --tw-text-opacity: 1; 1088 color: rgb(1 01 199 164/ var(--tw-text-opacity));1109 .text-red-700 { 1110 --tw-text-opacity: 1; 1111 color: rgb(185 28 28 / var(--tw-text-opacity)); 1089 1112 } 1090 1113 .text-white { 1091 1114 --tw-text-opacity: 1; 1092 1115 color: rgb(255 255 255 / var(--tw-text-opacity)); 1116 } 1117 .opacity-50 { 1118 opacity: 0.5; 1093 1119 } 1094 1120 .shadow { … … 1102 1128 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1103 1129 } 1130 .shadow-md { 1131 --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); 1132 --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 1133 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1134 } 1104 1135 .shadow-sm { 1105 1136 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); … … 1112 1143 transition-duration: 150ms; 1113 1144 } 1145 .transition-colors { 1146 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; 1147 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1148 transition-duration: 150ms; 1149 } 1114 1150 .duration-200 { 1115 1151 transition-duration: 200ms; … … 1123 1159 .wp-block-woocommerce-checkout-shipping-methods-block { 1124 1160 display: none; 1161 } 1162 1163 /* Define color variables with fallback values from Tailwind config */ 1164 .wp-block-fraktvalg-shipping-selector { 1165 --fraktvalg-primary-color: #2F463E; 1166 --fraktvalg-secondary-color: #4D8965; 1167 --fraktvalg-tertiary-color: #65C7A4; 1168 1169 /* Inherit theme typography */ 1170 font-family: var(--wp--preset--font-family--system-font, inherit); 1171 font-size: var(--wp--preset--font-size--normal, inherit); 1172 line-height: var(--wp--custom--typography--line-height--normal, inherit); 1173 1174 h1, h2, h3, h4, h5, h6 { 1175 font-family: var(--wp--preset--font-family--heading, inherit); 1176 line-height: var(--wp--custom--typography--line-height--heading, inherit); 1177 } 1178 1179 p { 1180 font-family: var(--wp--preset--font-family--body, inherit); 1181 line-height: var(--wp--custom--typography--line-height--paragraph, inherit); 1182 } 1183 } 1184 1185 /* Override Tailwind color classes with CSS variables */ 1186 .wp-block-fraktvalg-shipping-selector { 1187 /* Text colors */ 1188 .text-primary { 1189 color: var(--fraktvalg-primary-color) !important; 1190 } 1191 1192 .text-secondary { 1193 color: var(--fraktvalg-secondary-color) !important; 1194 } 1195 1196 .text-tertiary { 1197 color: var(--fraktvalg-tertiary-color) !important; 1198 } 1199 1200 /* Background colors */ 1201 .bg-primary { 1202 background-color: var(--fraktvalg-primary-color) !important; 1203 } 1204 1205 .bg-secondary { 1206 background-color: var(--fraktvalg-secondary-color) !important; 1207 } 1208 1209 .bg-tertiary { 1210 background-color: var(--fraktvalg-tertiary-color) !important; 1211 } 1212 1213 /* Hover text colors */ 1214 .hover\:text-primary:hover { 1215 color: var(--fraktvalg-primary-color) !important; 1216 } 1217 1218 .hover\:text-secondary:hover { 1219 color: var(--fraktvalg-secondary-color) !important; 1220 } 1221 1222 .hover\:text-tertiary:hover { 1223 color: var(--fraktvalg-tertiary-color) !important; 1224 } 1225 1226 /* Hover background colors */ 1227 .hover\:bg-primary:hover { 1228 background-color: var(--fraktvalg-primary-color) !important; 1229 } 1230 1231 .hover\:bg-secondary:hover { 1232 background-color: var(--fraktvalg-secondary-color) !important; 1233 } 1234 1235 .hover\:bg-tertiary:hover { 1236 background-color: var(--fraktvalg-tertiary-color) !important; 1237 } 1238 1239 /* Border colors */ 1240 .border-primary { 1241 border-color: var(--fraktvalg-primary-color) !important; 1242 } 1243 1244 .border-secondary { 1245 border-color: var(--fraktvalg-secondary-color) !important; 1246 } 1247 1248 .border-tertiary { 1249 border-color: var(--fraktvalg-tertiary-color) !important; 1250 } 1251 1252 /* Hover border colors */ 1253 .hover\:border-primary:hover { 1254 border-color: var(--fraktvalg-primary-color) !important; 1255 } 1256 1257 .hover\:border-secondary:hover { 1258 border-color: var(--fraktvalg-secondary-color) !important; 1259 } 1260 1261 .hover\:border-tertiary:hover { 1262 border-color: var(--fraktvalg-tertiary-color) !important; 1263 } 1125 1264 } 1126 1265 .after\:absolute::after { … … 1184 1323 background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 1185 1324 } 1325 .hover\:bg-gray-50:hover { 1326 --tw-bg-opacity: 1; 1327 background-color: rgb(249 250 251 / var(--tw-bg-opacity)); 1328 } 1186 1329 .hover\:bg-green-700:hover { 1187 1330 --tw-bg-opacity: 1; … … 1254 1397 color: rgb(255 255 255 / var(--tw-text-opacity)); 1255 1398 } 1399 .disabled\:cursor-not-allowed:disabled { 1400 cursor: not-allowed; 1401 } 1256 1402 .disabled\:bg-black\/80:disabled { 1257 1403 background-color: rgb(0 0 0 / 0.8); 1404 } 1405 .disabled\:opacity-50:disabled { 1406 opacity: 0.5; 1258 1407 } 1259 1408 .peer:checked ~ .peer-checked\:block { … … 1302 1451 } 1303 1452 1453 .sm\:inline { 1454 display: inline; 1455 } 1456 1304 1457 .sm\:flex { 1305 1458 display: flex; -
fraktvalg/trunk/build/fraktvalg-rtl.css
r3260012 r3267354 563 563 margin-bottom: 1rem; 564 564 } 565 .mb-6 { 566 margin-bottom: 1.5rem; 567 } 565 568 .ml-1 { 566 569 margin-right: 0.25rem; 567 570 } 571 .ml-2 { 572 margin-right: 0.5rem; 573 } 568 574 .mr-1 { 569 575 margin-left: 0.25rem; … … 602 608 display: inline-block; 603 609 } 610 .inline { 611 display: inline; 612 } 604 613 .flex { 605 614 display: flex; … … 704 713 max-width: 100%; 705 714 } 715 .flex-1 { 716 flex: 1 1 0%; 717 } 706 718 .shrink-0 { 707 719 flex-shrink: 0; … … 718 730 .animate-spin { 719 731 animation: spin 1s linear infinite; 732 } 733 .cursor-not-allowed { 734 cursor: not-allowed; 720 735 } 721 736 .cursor-pointer { … … 858 873 border-color: rgb(254 202 202 / var(--tw-border-opacity)); 859 874 } 875 .border-red-400 { 876 --tw-border-opacity: 1; 877 border-color: rgb(248 113 113 / var(--tw-border-opacity)); 878 } 860 879 .border-transparent { 861 880 border-color: transparent; … … 1065 1084 color: rgb(17 24 39 / var(--tw-text-opacity)); 1066 1085 } 1086 .text-green-500 { 1087 --tw-text-opacity: 1; 1088 color: rgb(34 197 94 / var(--tw-text-opacity)); 1089 } 1067 1090 .text-green-600 { 1068 1091 --tw-text-opacity: 1; … … 1084 1107 color: rgb(220 38 38 / var(--tw-text-opacity)); 1085 1108 } 1086 .text- tertiary{1087 --tw-text-opacity: 1; 1088 color: rgb(1 01 199 164/ var(--tw-text-opacity));1109 .text-red-700 { 1110 --tw-text-opacity: 1; 1111 color: rgb(185 28 28 / var(--tw-text-opacity)); 1089 1112 } 1090 1113 .text-white { 1091 1114 --tw-text-opacity: 1; 1092 1115 color: rgb(255 255 255 / var(--tw-text-opacity)); 1116 } 1117 .opacity-50 { 1118 opacity: 0.5; 1093 1119 } 1094 1120 .shadow { … … 1102 1128 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1103 1129 } 1130 .shadow-md { 1131 --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); 1132 --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 1133 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1134 } 1104 1135 .shadow-sm { 1105 1136 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); … … 1109 1140 .transition-all { 1110 1141 transition-property: all; 1142 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1143 transition-duration: 150ms; 1144 } 1145 .transition-colors { 1146 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; 1111 1147 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1112 1148 transition-duration: 150ms; … … 1178 1214 background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 1179 1215 } 1216 .hover\:bg-gray-50:hover { 1217 --tw-bg-opacity: 1; 1218 background-color: rgb(249 250 251 / var(--tw-bg-opacity)); 1219 } 1180 1220 .hover\:bg-green-700:hover { 1181 1221 --tw-bg-opacity: 1; … … 1248 1288 color: rgb(255 255 255 / var(--tw-text-opacity)); 1249 1289 } 1290 .disabled\:cursor-not-allowed:disabled { 1291 cursor: not-allowed; 1292 } 1250 1293 .disabled\:bg-black\/80:disabled { 1251 1294 background-color: rgb(0 0 0 / 0.8); 1295 } 1296 .disabled\:opacity-50:disabled { 1297 opacity: 0.5; 1252 1298 } 1253 1299 .peer:checked ~ .peer-checked\:block { … … 1296 1342 } 1297 1343 1344 .sm\:inline { 1345 display: inline; 1346 } 1347 1298 1348 .sm\:flex { 1299 1349 display: flex; -
fraktvalg/trunk/build/fraktvalg.asset.php
r3260012 r3267354 1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-i18n'), 'version' => ' 53a587df87d5c7e13bbf');1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-i18n'), 'version' => 'e35a277769283e6546f1'); -
fraktvalg/trunk/build/fraktvalg.css
r3260012 r3267354 563 563 margin-bottom: 1rem; 564 564 } 565 .mb-6 { 566 margin-bottom: 1.5rem; 567 } 565 568 .ml-1 { 566 569 margin-left: 0.25rem; 567 570 } 571 .ml-2 { 572 margin-left: 0.5rem; 573 } 568 574 .mr-1 { 569 575 margin-right: 0.25rem; … … 602 608 display: inline-block; 603 609 } 610 .inline { 611 display: inline; 612 } 604 613 .flex { 605 614 display: flex; … … 704 713 max-width: 100%; 705 714 } 715 .flex-1 { 716 flex: 1 1 0%; 717 } 706 718 .shrink-0 { 707 719 flex-shrink: 0; … … 718 730 .animate-spin { 719 731 animation: spin 1s linear infinite; 732 } 733 .cursor-not-allowed { 734 cursor: not-allowed; 720 735 } 721 736 .cursor-pointer { … … 858 873 border-color: rgb(254 202 202 / var(--tw-border-opacity)); 859 874 } 875 .border-red-400 { 876 --tw-border-opacity: 1; 877 border-color: rgb(248 113 113 / var(--tw-border-opacity)); 878 } 860 879 .border-transparent { 861 880 border-color: transparent; … … 1065 1084 color: rgb(17 24 39 / var(--tw-text-opacity)); 1066 1085 } 1086 .text-green-500 { 1087 --tw-text-opacity: 1; 1088 color: rgb(34 197 94 / var(--tw-text-opacity)); 1089 } 1067 1090 .text-green-600 { 1068 1091 --tw-text-opacity: 1; … … 1084 1107 color: rgb(220 38 38 / var(--tw-text-opacity)); 1085 1108 } 1086 .text- tertiary{1087 --tw-text-opacity: 1; 1088 color: rgb(1 01 199 164/ var(--tw-text-opacity));1109 .text-red-700 { 1110 --tw-text-opacity: 1; 1111 color: rgb(185 28 28 / var(--tw-text-opacity)); 1089 1112 } 1090 1113 .text-white { 1091 1114 --tw-text-opacity: 1; 1092 1115 color: rgb(255 255 255 / var(--tw-text-opacity)); 1116 } 1117 .opacity-50 { 1118 opacity: 0.5; 1093 1119 } 1094 1120 .shadow { … … 1102 1128 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1103 1129 } 1130 .shadow-md { 1131 --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); 1132 --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 1133 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1134 } 1104 1135 .shadow-sm { 1105 1136 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); … … 1109 1140 .transition-all { 1110 1141 transition-property: all; 1142 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1143 transition-duration: 150ms; 1144 } 1145 .transition-colors { 1146 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; 1111 1147 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1112 1148 transition-duration: 150ms; … … 1178 1214 background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 1179 1215 } 1216 .hover\:bg-gray-50:hover { 1217 --tw-bg-opacity: 1; 1218 background-color: rgb(249 250 251 / var(--tw-bg-opacity)); 1219 } 1180 1220 .hover\:bg-green-700:hover { 1181 1221 --tw-bg-opacity: 1; … … 1248 1288 color: rgb(255 255 255 / var(--tw-text-opacity)); 1249 1289 } 1290 .disabled\:cursor-not-allowed:disabled { 1291 cursor: not-allowed; 1292 } 1250 1293 .disabled\:bg-black\/80:disabled { 1251 1294 background-color: rgb(0 0 0 / 0.8); 1295 } 1296 .disabled\:opacity-50:disabled { 1297 opacity: 0.5; 1252 1298 } 1253 1299 .peer:checked ~ .peer-checked\:block { … … 1296 1342 } 1297 1343 1344 .sm\:inline { 1345 display: inline; 1346 } 1347 1298 1348 .sm\:flex { 1299 1349 display: flex; -
fraktvalg/trunk/build/fraktvalg.js
r3260012 r3267354 1 (()=>{"use strict";var e={338:(e,t, g)=>{var a=g(795);t.H=a.createRoot,a.hydrateRoot},20:(e,t,g)=>{var a=g(609),s=Symbol.for("react.element"),i=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,M=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,r={key:!0,ref:!0,__self:!0,__source:!0};function I(e,t,g){var a,i={},I=null,c=null;for(a in void 0!==g&&(I=""+g),void 0!==t.key&&(I=""+t.key),void 0!==t.ref&&(c=t.ref),t)l.call(t,a)&&!r.hasOwnProperty(a)&&(i[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===i[a]&&(i[a]=t[a]);return{$$typeof:s,type:e,key:I,ref:c,props:i,_owner:M.current}}t.Fragment=i,t.jsx=I,t.jsxs=I},848:(e,t,g)=>{e.exports=g(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM}},t={};function g(a){var s=t[a];if(void 0!==s)return s.exports;var i=t[a]={exports:{}};return e[a](i,i.exports,g),i.exports}g.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return g.d(t,{a:t}),t},g.d=(e,t)=>{for(var a in t)g.o(t,a)&&!g.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},g.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var a=g(609),s=g(338);function i(e){var t,g,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(g=i(e[t]))&&(a&&(a+=" "),a+=g)}else for(g in e)e[g]&&(a&&(a+=" "),a+=g);return a}function l(){for(var e,t,g=0,a="",s=arguments.length;g<s;g++)(e=arguments[g])&&(t=i(e))&&(a&&(a+=" "),a+=t);return a}var M=g(848);function r({tabs:e,activeTab:t,setTab:g}){return(0,M.jsx)("div",{className:"border-b border-gray-200 bg-white",children:(0,M.jsx)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:(0,M.jsx)("nav",{children:(0,M.jsx)("div",{className:"flex h-16 justify-between",children:(0,M.jsxs)("div",{className:"flex",children:[(0,M.jsx)("div",{className:"flex shrink-0 items-center",children:(0,M.jsx)("img",{className:"block h-8 w-auto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMzUwIgogICBoZWlnaHQ9Ijk2LjI3NzM1OSIKICAgdmlld0JveD0iMCAwIDkyLjYwNDE1NiAyNS40NzMzODEiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzEiCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczEiPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEwMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTI1Mi4zNDE1NiwtNjkuNTExNzIxKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEwMSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTAzIj4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMjgwLjk3OTcxLC03OS41OTE4MDIpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTAzIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMDUiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC0zMDAuNTQ2MzgsLTc4Ljg5NjQ4NCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMDUiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEwNyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTMzMi42ODExOCwtNjkuNTExNzIxKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEwNyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTA5Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMzYzLjIyNDYzLC03MS4yMTg3NTIpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTA5IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMTEiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC0zODIuODQ4MTYsLTc5Ljc0OTk5OSkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMTEiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDExMyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTQxMi41OTQ3NCwtNzguODk2NDg0KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDExMyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTE1Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTIzMS42MzE5LC00OTYuNzEwOTYpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTE1IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMTciPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC00NTUuNjIxMzQsLTc4Ljg5NjQ4NCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMTciIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDExOSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTY5OC42ODA4OSwtNTc1LjAyNzM2KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDExOSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTIxIj4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTgwLjY3NDc4LC04MS4zMDg1OTcpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTIxIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMjMiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC03NTEuMTA3NDcsLTUyMi4yOTEwNCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMjMiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEyNSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTY3Mi4wMDIxOSwtNDk1LjkyMTg5KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEyNSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTI3Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTY3LjQ4MjQzLC04MS4zMDg1OTcpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTI3IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMjkiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC02NDUuOTQyMTcsLTQ5NS45MjE4OSkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMjkiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEzMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTEzNS4xOTA5NSwtNDIuMDk5NjExKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEzMSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4MDY4NDUsLTAuMzc3MjQwNDgpIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwMCIKICAgICAgIGQ9Im0gNTkxLjI2NjYsNTExLjczOTE3IHYgLTgyLjgxNTMxIGggNDkuODYxNDUgdiAxMy44NTgxNSBoIC0zNi4wMDA0OSB2IDIwLjY0Njc5IGggMzYuMDAwNDkgdiAxMy44MDI2MSBoIC0zNi4wMDA0OSB2IDM0LjUwNzc2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTQ2LjU0ODIyNiwtNDguNTk4OTE1KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDEwMSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMDIiCiAgICAgICBkPSJtIDYyMC41NDE5OSw1MDEuNjU5MTUgdiAtNjIuMTEyNDkgaCAxMi4yNTEyMiB2IDE1LjEyNTYxIGwgLTEuNDk5NTEsLTEuOTU0NTMgYyAwLjc3MTYxLC0yLjA3MTIzIDEuNzk0MTksLTMuOTU4NDkgMy4wODAyLC01LjY2MzY5IDEuMjg1ODksLTEuNzA1MjYgMi44MjY5MSwtMy4xMTc2OCA0LjYyOTAzLC00LjIyOTQzIDEuNTM1MTYsLTEuMDM0NjEgMy4yMjgzOSwtMS44NDk2NyA1LjA4OTk3LC0yLjQ0MzEyIDEuODU5NjEsLTAuNTkxNDkgMy43Njg1NSwtMC45NTc0NiA1LjcyNDk3LC0xLjA5MTk4IDEuOTU0NTksLTAuMTM0NTIgMy44NDk3MywtMC4wNDk0IDUuNjg5NDUsMC4yNTcxNCB2IDEyLjk0MTU5IGMgLTEuODM5NzIsLTAuNTM4MDkgLTMuOTU2NTQsLTAuNzEwMiAtNi4zNTIxNywtMC41MTgzMSAtMi4zOTk0MSwwLjE5IC00LjU1MzgzLDAuODYyNTUgLTYuNDcwODIsMi4wMTM4NiAtMS45MTY3NSwxLjAzMjcxIC0zLjQ3OTYyLDIuMzU2MDcgLTQuNjg2MjgsMy45NjYzIC0xLjIwODc0LDEuNjEyMzEgLTIuMTAyOTEsMy40NDQyMiAtMi42NzQ2OSw1LjQ5NTU1IC0wLjU3NTU2LDIuMDQ5NTYgLTAuODY0MzgsNC4yNjMxOCAtMC44NjQzOCw2LjYzODk4IHYgMzEuNTc0NTIgeiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNDIuNzkyODYzLC00Ny4yNzcxMDEpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTAzKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwNCIKICAgICAgIGQ9Im0gNjYxLjM2Mjc5LDUwNC4wODE0OCBjIC00LjQ4NjU3LDAgLTguMjgyODMsLTAuODU0NjEgLTExLjM5MDUsLTIuNTU5ODEgLTMuMTAxOTMsLTEuNzA1MiAtNS40NTQxLC0zLjk3ODIxIC03LjA0MjYsLTYuODE1IC0xLjU5MjQxLC0yLjgzNjc0IC0yLjM4NTc0LC01Ljk2MjQxIC0yLjM4NTc0LC05LjM3NDg4IDAsLTIuOTkwOTcgMC40OTY1OCwtNS42ODM0MSAxLjQ5MTU3LC04LjA4MTA2IDAuOTk5MDMsLTIuMzk1NjMgMi41MzQxOCwtNC40NjQ4NCA0LjYwMTU2LC02LjIxMTYxIDIuMDczLC0xLjc0Mjg2IDQuNzU1NSwtMy4xNjkxMiA4LjA1MzIzLC00LjI4Mjg5IDIuNDkyNTUsLTAuODA1MTIgNS40MTYzOCwtMS41MzMwOSA4Ljc2OTQxLC0yLjE4Mzk2IDMuMzU3MTcsLTAuNjUwODIgNi45OTkxNCwtMS4yNTYxNyAxMC45Mjc4NSwtMS44MTQwMyAzLjkzMjc0LC0wLjU1NTkxIDguMDQzNTgsLTEuMTU3MjkgMTIuMzM2MzEsLTEuODEyMDEgbCAtNC45NDU2OCwyLjgxODkxIGMgMC4wMzc2LC00LjI5MjczIC0wLjkxOTkyLC03LjQ1Nzg5IC0yLjg3NDI3LC05LjQ4OTU3IC0xLjk1NDU5LC0yLjAzMTY3IC01LjI1MjIsLTMuMDQ4NDYgLTkuODkzMTksLTMuMDQ4NDYgLTIuNzk5MTksMCAtNS41MDE0NiwwLjY1MjgzIC04LjExMDg0LDEuOTU0NTMgLTIuNjA3MTgsMS4zMDU2IC00LjQyNzI0LDMuNTQ4OTUgLTUuNDYxNzksNi43MzE4NyBsIC0xMi42NTA4OCwtMy45NzAyNyBjIDEuNTMzMiwtNS4yNTIyIDQuNDU1MDgsLTkuNDY3NzggOC43Njk1MywtMTIuNjUyNzcgNC4zMTA1NSwtMy4xODA5NyAxMC4xMzA2MiwtNC43NzM0NCAxNy40NTM5OCwtNC43NzM0NCA1LjUyMTI0LDAgMTAuMzgxODQsMC45MDAwMiAxNC41Nzk1OSwyLjcwMjIxIDQuMTk3NzYsMS44MDIxOCA3LjMxMzQ4LDQuNzU1NjEgOS4zNDUyMiw4Ljg1ODUyIDEuMTExNjksMi4xODM5NiAxLjc4NDE4LDQuNDE5MzcgMi4wMTE3Miw2LjcwMDI2IDAuMjMxNTYsMi4yODA5NCAwLjM0ODI2LDQuNzY1NjIgMC4zNDgyNiw3LjQ0NjEgdiAzOC4xMzAzNyBIIDY4My4xNTcxIHYgLTEzLjQ1Nzg4IGwgMi4wMTM5MiwyLjE4Nzg2IGMgLTIuNzk5MzIsNC40ODQ2OCAtNi4wNjU0Myw3Ljc3MjU5IC05LjgwNDIsOS44NjE1NyAtMy43Mzg3NywyLjA4ODkzIC04LjQwNzU5LDMuMTM1NDQgLTE0LjAwNDAzLDMuMTM1NDQgbSAyLjc1OTc3LC0xMS4wNDI0OCBjIDMuMTQzNDMsMCA1LjgyNzg4LC0wLjU1NTg1IDguMDUxNTEsLTEuNjY3NiAyLjIyMzM5LC0xLjExMzgzIDMuOTk1ODUsLTIuNDc0NzkgNS4zMTkyMiwtNC4wODUwOCAxLjMyMzQ4LC0xLjYwODM0IDIuMjEzNzQsLTMuMTI1NjEgMi42NzY2MywtNC41NDIgMC43MjYwOCwtMS43NjQ1OCAxLjEzNzU4LC0zLjc4NjMxIDEuMjM0MzgsLTYuMDY3MjYgMC4wOTY5LC0yLjI4MDg4IDAuMTQ2NDgsLTQuMTMwNjEgMC4xNDY0OCwtNS41NTA5IGwgNC4yNTMwNSwxLjI2NTk5IGMgLTQuMTc3OTgsMC42NTA5NCAtNy43NjQ1MiwxLjIyNjU2IC0xMC43NTM1NCwxLjcyNzExIC0yLjk5MTIxLDAuNDk2NTIgLTUuNTYwNzksMC45NjU0IC03LjcwNzI3LDEuNDA2NSAtMi4xNDgzMiwwLjQ0MTEgLTQuMDQzNDYsMC45Mjk3NSAtNS42OTMyNCwxLjQ2NzgzIC0xLjYxMDM1LDAuNTczNjcgLTIuOTcxNDQsMS4yNDYyOCAtNC4wODUwOCwyLjAxMTg0IC0xLjExMTcsMC43Njc2NCAtMS45NjI0MSwxLjY0OTg0IC0yLjU1Nzg2LDIuNjQ2OTEgLTAuNTk3NDIsMC45OTUgLTAuODkyMjIsMi4xNjQxMyAtMC44OTIyMiwzLjUwNzMzIDAsMS41MzUxNSAwLjM4Mzc5LDIuODg0MjggMS4xNTEzNyw0LjA1NTQyIDAuNzY3NTgsMS4xNjkxMyAxLjg4NzIxLDIuMDk2OTIgMy4zNjQ5OSwyLjc4NzM1IDEuNDc1NzEsMC42OTIzMiAzLjMwNzYyLDEuMDM2NTYgNS40OTE1OCwxLjAzNjU2IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC00MC4yMjcwNTQsLTQ3LjM2ODI3OSkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMDUpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTA2IgogICAgICAgZD0ibSA2NzMuMzkzOTIsNTExLjczOTE3IDAuMTE0MDEsLTgyLjgxNTMxIGggMTQuMDM2MjYgdiA1MC42MDk0MyBsIDIyLjcxNDk3LC0yOS45MDcwNCBoIDE3LjMxMDkxIGwgLTI0LjA5NjgsMzEuMDU3ODYgMjYuMTY3OTcsMzEuMDU1MDYgaCAtMTguMzQ3OTEgbCAtMjMuNzQ5MTQsLTI5LjkwNjk5IHYgMjkuOTA2OTkgeiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtMzYuMDEzMTY5LC00OC41OTg5MTUpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTA3KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwOCIKICAgICAgIGQ9Im0gNzA5LjQ0OTg5LDQ0Ny45MjAxNCBoIDI3LjIwMjUxIHYgMTAuODcwNDIgaCAtMjcuMjAyNTEgeiBtIDI3LjIwMjUxLDYyLjExMjQ4IGMgLTQuMTA0NzMsMC43NjU2OSAtOC4xMTg1MywxLjEwMTg3IC0xMi4wNDkzMSwxLjAwODk4IC0zLjkyODgzLC0wLjEwMDk2IC03LjQ1MDA3LC0wLjgyNzAzIC0xMC41NTE4OCwtMi4xODc5OSAtMy4xMDc3OSwtMS4zNTkwMSAtNS40NjU5NCwtMy41MTczNCAtNy4wNzQyMiwtNi40NzA3NyAtMS40MjAyOSwtMi42ODI1NSAtMi4xNjgwOSwtNS40MjIzNiAtMi4yNDMyOSwtOC4yMjM1NyAtMC4wNzkyLC0yLjc5OTEzIC0wLjExNjgyLC01Ljk1ODM3IC0wLjExNjgyLC05LjQ4NzU1IFYgNDMwLjY2OCBoIDEzLjgwMjM3IHYgNTMuMTk2NTkgYyAwLDIuNDkyNTYgMC4wMjk3LDQuNjgwNTUgMC4wODY5LDYuNTU3ODYgMC4wNTk2LDEuODc5MzQgMC40NDkxLDMuNDEyNDggMS4xODA5MSw0LjYwMTM4IDEuMzc4OTEsMi4yOTg3MSAzLjU4MjY0LDMuNTg0NDggNi42MTM0MSwzLjg1MzU4IDMuMDI4NTYsMC4yNjUwOCA2LjQ3ODc2LDAuMTEyNzMgMTAuMzUxOTIsLTAuNDYwOTQgdiAxMS42MTYxNSB6IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC0zMi4wMDc5NiwtNDguMzc1MDcpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTA5KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDExMCIKICAgICAgIGQ9Im0gNzQ3LjIyMDAzLDUwMS41MDE5MiAtMjIuNTQyODQsLTYyLjExMjkxIGggMTMuODYxMDggbCAxNS42NDI4Miw0NS4wMzI4MyAxNS41ODQ2LC00NS4wMzI4MyBoIDEzLjkxNjI2IGwgLTIyLjU0MjQ4LDYyLjExMjkxIHoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTI5LjQzNDY5OSwtNDcuMjU2MzU2KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExMSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTIiCiAgICAgICBkPSJtIDc3NS45MDY5Miw1MDQuMDgxNDggYyAtNC40ODg2NSwwIC04LjI4Mjg0LC0wLjg1NDYxIC0xMS4zODg3OSwtMi41NTk4MSAtMy4xMDM3NiwtMS43MDUyIC01LjQ1NTgxLC0zLjk3ODIxIC03LjA0NDMxLC02LjgxNSAtMS41OTI1MywtMi44MzY3NCAtMi4zODc4MiwtNS45NjI0MSAtMi4zODc4MiwtOS4zNzQ4OCAwLC0yLjk5MDk3IDAuNDk2NDYsLTUuNjgzNDEgMS40OTM1MywtOC4wODEwNiAwLjk5OTAyLC0yLjM5NTYzIDIuNTMyMSwtNC40NjQ4NCA0LjYwMzM5LC02LjIxMTYxIDIuMDcxMjksLTEuNzQyODYgNC43NTM2NiwtMy4xNjkxMiA4LjA1MTM5LC00LjI4Mjg5IDIuNDkwNiwtMC44MDUxMiA1LjQxNjM5LC0xLjUzMzA5IDguNzY5NTQsLTIuMTgzOTYgMy4zNTUxLC0wLjY1MDgyIDYuOTk4OSwtMS4yNTYxNyAxMC45Mjc3MywtMS44MTQwMyAzLjkzMjc0LC0wLjU1NTkxIDguMDQxNSwtMS4xNTcyOSAxMi4zMzYzLC0xLjgxMjAxIGwgLTQuOTQ1NjgsMi44MTg5MSBjIDAuMDM3NiwtNC4yOTI3MyAtMC45MTk4LC03LjQ1Nzg5IC0yLjg3NDM5LC05LjQ4OTU3IC0xLjk1NDQ2LC0yLjAzMTY3IC01LjI1MjE5LC0zLjA0ODQ2IC05Ljg5NTAxLC0zLjA0ODQ2IC0yLjc5NzI1LDAgLTUuNDk5NjQsMC42NTI4MyAtOC4xMDg3NywxLjk1NDUzIC0yLjYwNzQyLDEuMzA1NiAtNC40MjczNywzLjU0ODk1IC01LjQ2MTkxLDYuNzMxODcgbCAtMTIuNjUyODQsLTMuOTcwMjcgYyAxLjUzNTE2LC01LjI1MjIgNC40NTQ5NiwtOS40Njc3OCA4Ljc2OTU0LC0xMi42NTI3NyA0LjMxMjYyLC0zLjE4MDk3IDEwLjEzMDQ5LC00Ljc3MzQ0IDE3LjQ1Mzk4LC00Ljc3MzQ0IDUuNTIxMjQsMCAxMC4zODE3MSwwLjkwMDAyIDE0LjU3OTU5LDIuNzAyMjEgNC4xOTc3NSwxLjgwMjE4IDcuMzE1NDIsNC43NTU2MSA5LjM0NTA5LDguODU4NTIgMS4xMTM3NywyLjE4Mzk2IDEuNzg2MzcsNC40MTkzNyAyLjAxMzkxLDYuNzAwMjYgMC4yMjkzNywyLjI4MDk0IDAuMzQ2Miw0Ljc2NTYyIDAuMzQ2Miw3LjQ0NjEgdiAzOC4xMzAzNyBoIC0xMi4xMzY0OCB2IC0xMy40NTc4OCBsIDIuMDExODQsMi4xODc4NiBjIC0yLjc5NzI0LDQuNDg0NjggLTYuMDYzMjMsNy43NzI1OSAtOS44MDIyNCw5Ljg2MTU3IC0zLjc0MDczLDIuMDg4OTMgLTguNDA3NDgsMy4xMzU0NCAtMTQuMDAzNzksMy4xMzU0NCBtIDIuNzU5NTIsLTExLjA0MjQ4IGMgMy4xNDM0NCwwIDUuODI4MDEsLTAuNTU1ODUgOC4wNTEzOSwtMS42Njc2IDIuMjIxNTYsLTEuMTEzODMgMy45OTYyMiwtMi40NzQ3OSA1LjMxOTU4LC00LjA4NTA4IDEuMzIzNDksLTEuNjA4MzQgMi4yMTM2MywtMy4xMjU2MSAyLjY3NDU3LC00LjU0MiAwLjcyNzksLTEuNzY0NTggMS4xMzk0LC0zLjc4NjMxIDEuMjM2NDUsLTYuMDY3MjYgMC4wOTY5LC0yLjI4MDg4IDAuMTQ2MzYsLTQuMTMwNjEgMC4xNDYzNiwtNS41NTA5IGwgNC4yNTMxNywxLjI2NTk5IGMgLTQuMTc4MSwwLjY1MDk0IC03Ljc2NDUyLDEuMjI2NTYgLTEwLjc1MzY2LDEuNzI3MTEgLTIuOTkxMDksMC40OTY1MiAtNS41NjA5MSwwLjk2NTQgLTcuNzA5MjMsMS40MDY1IC0yLjE0NjM2LDAuNDQxMSAtNC4wNDE1LDAuOTI5NzUgLTUuNjkzMjQsMS40Njc4MyAtMS42MDgyNywwLjU3MzY3IC0yLjk3MTQzLDEuMjQ2MjggLTQuMDgzMTMsMi4wMTE4NCAtMS4xMDk4NiwwLjc2NzY0IC0xLjk2MjUyLDEuNjQ5ODQgLTIuNTU5OTMsMi42NDY5MSAtMC41OTUzNCwwLjk5NSAtMC44OTAwMiwyLjE2NDEzIC0wLjg5MDAyLDMuNTA3MzMgMCwxLjUzNTE1IDAuMzgxNzIsMi44ODQyOCAxLjE1MTI1LDQuMDU1NDIgMC43Njc0NSwxLjE2OTEzIDEuODg3MDgsMi4wOTY5MiAzLjM2NDg3LDIuNzg3MzUgMS40NzU4MywwLjY5MjMyIDMuMzA1NzgsMS4wMzY1NiA1LjQ5MTU3LDEuMDM2NTYiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTI1LjUzMzk4NiwtNDcuMzY4Mjc5KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExMykiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTQiCiAgICAgICBkPSJNIDAsMCBIIDEzLjg2MDk2IFYgODQuNTQxNzQ4IEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDgxLjg2NzU4Myw3LjQyMDM1NzYpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTE1KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDExNiIKICAgICAgIGQ9Im0gODI3LjQyNTksNTA0LjA3OTUzIGMgLTUuNzE0OTYsMCAtMTAuNzAwMzEsLTEuNDM4MTcgLTE0Ljk1MzQ5LC00LjMxMjU2IC00LjI1NzA4LC0yLjg3NDMzIC03LjU1NDgxLC02Ljc4NTI4IC05Ljg5MTExLC0xMS43MzA4NCAtMi4zNDAyMSwtNC45NDk2NCAtMy41MTEyMywtMTAuNTI0MjkgLTMuNTExMjMsLTE2LjczNzg1IDAsLTYuMjg2ODcgMS4xNzg5NSwtMTEuODk1MDggMy41MzkwNiwtMTYuODIwOTIgMi4zNTU5NiwtNC45Mjc4IDUuNzAzMTMsLTguODE4OTEgMTAuMDM1NCwtMTEuNjc1NDggNC4zMzI0LC0yLjg1NDY4IDkuNDMyMjUsLTQuMjg0ODUgMTUuMjk3NzMsLTQuMjg0ODUgNS45MDI5NSwwIDEwLjg1ODUyLDEuNDMwMTcgMTQuODY2MzMsNC4yODQ4NSA0LjAwNDAzLDIuODU2NTcgNy4wNDQ2OCw2Ljc1NTYyIDkuMTE1NzMsMTEuNzA1MTQgMi4wNjkyMSw0Ljk0NTYyIDMuMTA1ODMsMTAuNTQxOTkgMy4xMDU4MywxNi43OTEyNiAwLDYuMTc0MDcgLTEuMDM2NjIsMTEuNzQyNzQgLTMuMTA1ODMsMTYuNzA4MTMgLTIuMDcxMDUsNC45NjMzOCAtNS4xNTcxMSw4Ljg4NjIzIC05LjI2MDE0LDExLjc2MDU2IC00LjEwMDgzLDIuODc0MzkgLTkuMTgyODYsNC4zMTI1NiAtMTUuMjM4MjgsNC4zMTI1NiBtIDEuMjA0NzIsMjcuNjA4MTUgYyAtMy40NDgsMCAtNi43NTU1LC0wLjUzODA4IC05LjkxODgzLC0xLjYxMjI0IC0zLjE2MzA4LC0xLjA3MjE0IC02LjAxMTcyLC0yLjYxNTIzIC04LjU0MTg3LC00LjYyOTAzIC0yLjUzMDI3LC0yLjAxMzkxIC00LjYwMTU2LC00LjQzOTE1IC02LjIwOTcxLC03LjI3NTg4IGwgMTIuNzY1MzgsLTYuMzI2NDcgYyAxLjE4ODk2LDIuMjYzMTIgMi44Njg1MywzLjk0MDY3IDUuMDMyNzEsNS4wMzI2NSAyLjE2ODIxLDEuMDkxOTggNC40Nzg2NCwxLjYzOCA2LjkzMTc2LDEuNjM4IDIuODc0MjcsMCA1LjQ0MjE0LC0wLjUwODQyIDcuNzA1MDgsLTEuNTIzMjUgMi4yNjEyMywtMS4wMTQ5IDQuMDE3ODIsLTIuNTEyNDYgNS4yNjIyMSwtNC40ODQ2OSAxLjI0NDI2LC0xLjk3ODI3IDEuODMxNzksLTQuNDM3MTMgMS43NTQ2NCwtNy4zOTA2MiB2IC0xNy42NTU3NiBoIDEuNzI2OTMgViA0NDAuMjQyIGggMTIuMTMyNjkgdiA2NS4xMDE2MyBjIDAsMS41NzQ2NCAtMC4wNjc1LDMuMDgwMTQgLTAuMTk5ODMsNC41MTYyOSAtMC4xMzQ1MiwxLjQzODE4IC0wLjM1NjA4LDIuODQ4NjQgLTAuNjYyODQsNC4yMjc0MiAtMC45MTk4LDQuMDI1NzYgLTIuNjgyMzgsNy4zMzEzNiAtNS4yODk4LDkuOTIwOSAtMi42MDkxMywyLjU4NzUyIC01LjgzNzY1LDQuNTE0MzQgLTkuNjg5MzMsNS43ODA0IC0zLjg1NTU5LDEuMjY0MDkgLTguMTE4NTMsMS44OTkwNCAtMTIuNzk5MTksMS44OTkwNCBtIDAuOTIxODcsLTQwLjAyOTQ4IGMgMy43MTcxNiwwIDYuNzE4MTQsLTAuODUyNTQgOS4wMDMwNSwtMi41NTk4MSAyLjI3Njk4LC0xLjcwNTIgMy45NDY1NCwtNC4wOTA5NCA1LjAwMDg2LC03LjE1OTE4IDEuMDU0NDQsLTMuMDY2MjkgMS41ODI1MiwtNi42MTMyOCAxLjU4MjUyLC0xMC42NDA5MyAwLC00LjA2MzI5IC0wLjUyODA4LC03LjYxODE3IC0xLjU4MjUyLC0xMC42Njg2NCAtMS4wNTQzMiwtMy4wNDY0NSAtMi42OTQzNCwtNS40MjQzMiAtNC45MTU3NywtNy4xMzE0NyAtMi4yMjc1NCwtMS43MDUyNiAtNS4xMDE5MywtMi41NTc4NiAtOC42MjcyLC0yLjU1Nzg2IC0zLjcyMTA3LDAgLTYuNzg5MTksMC45MTE5OCAtOS4yMDI3NiwyLjcyOTk4IC0yLjQxNTQxLDEuODIzOTEgLTQuMTk5NzEsNC4yNzY4NSAtNS4zNDcwNSw3LjM2MjkxIC0xLjE1MTM2LDMuMDg2MDYgLTEuNzI3MDUsNi41MDg0MyAtMS43MjcwNSwxMC4yNjUwOCAwLDMuNzk2MTQgMC41Njc3NSw3LjIzODM0IDEuNjk3MjcsMTAuMzIyMzkgMS4xMjk2NCwzLjA4ODA3IDIuODY2NTgsNS41MzMwOCA1LjIwMjc2LDcuMzMzMzEgMi4zNDAzMywxLjgwNDA4IDUuMzA5NjksMi43MDQyMiA4LjkxNTg5LDIuNzA0MjIiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTE5Ljg5MTg0MiwtNDcuMzY4Mjc5KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExNykiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTgiCiAgICAgICBkPSJNIDAsMCBIIDM2LjU5MDYzMyBWIDEwLjIyNDExMiBIIDAgWiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwxMS45ODA5MjIsMTcuNjkwMTA3KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExOSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMjAiCiAgICAgICBkPSJNIDU0OS40ODQ2Miw0NzcuNTcyMzYgSCA1MTguMDA1IHYgLTEwLjIyMzUxIGggMjYuMzY3NjggViA0NDAuOTgzIGggMTAuMjIzNjMgdiAzMS40Nzc2IGMgMCwyLjgyNDk1IC0yLjI5MDc3LDUuMTExNzYgLTUuMTExNjksNS4xMTE3NiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNTUuOTQ1OTk3LC00Ny4wNTE5NzUpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTIxKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyMiIKICAgICAgIGQ9Ik0gMCwwIEggMTAuMjI0MTEyIFYgNjIuOTYwMTA2IEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDE4Ljg1NTY5NywxMC43NzQ3MTEpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTIzKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyNCIKICAgICAgIGQ9Ik0gMCwwIEggMzYuNTkzNDg3IFYgMTAuMjI0MTEyIEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDguNDgyNTAzMyw3LjMxNjg4NDgpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTI1KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyNiIKICAgICAgIGQ9Ik0gNTE0Ljc0NDM4LDQ3Ny41NzIzNiBIIDUwNC41MTkwMSBWIDQ0Ni4wOTQ3IGMgMCwtMi44MjI4MiAyLjI5MDgzLC01LjExMTcgNS4xMTE3NiwtNS4xMTE3IGggMzEuNDgxNjYgdiAxMC4yMjM1MSBoIC0yNi4zNjgwNSB6IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC01Ny42NzU5MzEsLTQ3LjA1MTk3NSkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMjcpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTI4IgogICAgICAgZD0iTSAwLDAgSCAxMC4yMjQxMTIgViA2Mi45NjAxMDYgSCAwIFoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsNS4wNjUyMTQ4LDcuMzE2ODg0OCkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMjkpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTMwIgogICAgICAgZD0ibSA1NjguNjM4MTIsNTk1LjE1OTMgYyAtNTMuNTU2NTIsMCAtOTcuMTI5MTUsLTQzLjU3MjUxIC05Ny4xMjkxNSwtOTcuMTI5MTUgMCwtNTMuNTU2NyA0My41NzI2MywtOTcuMTI5MTUgOTcuMTI5MTUsLTk3LjEyOTE1IDUzLjU1Njc3LDAgOTcuMTI5MTUsNDMuNTcyNDUgOTcuMTI5MTUsOTcuMTI5MTUgMCw1My41NTY2NCAtNDMuNTcyMzgsOTcuMTI5MTUgLTk3LjEyOTE1LDk3LjEyOTE1IG0gMCwtMTg0LjAzNDc5IGMgLTQ3LjkxODUyLDAgLTg2LjkwMzU2LDM4Ljk4Njk0IC04Ni45MDM1Niw4Ni45MDU2NCAwLDQ3LjkyMjYxIDM4Ljk4NTA0LDg2LjkwNTY0IDg2LjkwMzU2LDg2LjkwNTY0IDQ3LjkxODgzLDAgODYuOTA1NzYsLTM4Ljk4MzAzIDg2LjkwNTc2LC04Ni45MDU2NCAwLC00Ny45MTg3IC0zOC45ODY5MywtODYuOTA1NjQgLTg2LjkwNTc2LC04Ni45MDU2NCIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNjEuOTEwMzYzLC01Mi4xOTM1MDkpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTMxKSIgLz4KICA8L2c+Cjwvc3ZnPgo=",alt:""})}),(0,M.jsx)("div",{className:"hidden sm:-my-px sm:ml-6 sm:flex sm:space-x-8",children:e.map((e=>(0,M.jsx)("button",{type:"button",className:l("border-transparent text-gray-500 hover:text-secondary hover:border-secondary whitespace-nowrap py-4 px-1 border-b-2 font-medium text-sm",e.value===t?"text-primary border-primary":""),onClick:()=>g(e.value),children:e.label},e.value)))})]})})})})})}const I=window.wp.apiFetch;var c=g.n(I);const n=window.wp.i18n;function C({title:e,children:t}){return(0,M.jsxs)("div",{className:"py-10",children:[(0,M.jsx)("header",{children:(0,M.jsx)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:(0,M.jsx)("h1",{className:"text-3xl font-bold tracking-tight text-gray-900",children:e})})}),(0,M.jsx)("main",{children:(0,M.jsx)("div",{className:"mx-auto max-w-7xl px-4 py-8 sm:px-6 lg:px-8",children:t})})]})}function N({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const o=a.forwardRef(N);function d({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M12 3.75a.75.75 0 0 1 .75.75v6.75h6.75a.75.75 0 0 1 0 1.5h-6.75v6.75a.75.75 0 0 1-1.5 0v-6.75H4.5a.75.75 0 0 1 0-1.5h6.75V4.5a.75.75 0 0 1 .75-.75Z",clipRule:"evenodd"}))}const A=a.forwardRef(d);function j({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M12.97 3.97a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 1 1-1.06-1.06l6.22-6.22H3a.75.75 0 0 1 0-1.5h16.19l-6.22-6.22a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"}))}const x=a.forwardRef(j);function u({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const w=a.forwardRef(u);function D({type:e="notice",title:t,children:g,className:a=""}){const s=l("border rounded-md p-2","success"===e?"bg-green-100 border-green-200":"","notice"===e?"bg-yellow-100 border-yellow-200":"","error"===e?"bg-red-100 border-red-200":"",a);return(0,M.jsxs)("div",{className:s,children:[(0,M.jsx)("div",{className:"text-md text-black font-semibold",children:t}),g&&(0,M.jsx)("div",{className:"text-sm text-black",children:g})]})}function m({children:e}){return(0,M.jsx)("div",{className:"w-full mt-2 bg-gray-50 rounded-lg p-5 help-content border border-gray-200 space-y-4",children:(0,M.jsx)("div",{className:"text-sm text-gray-600",children:e})})}function T({field:e,name:t,label:g,value:s=!1,callback:i,required:l=!1,children:r}){const[I,c]=(0,a.useState)(s);return(0,M.jsxs)("div",{className:"relative",children:[(0,M.jsxs)("label",{className:"inline-flex items-center cursor-pointer",children:[(0,M.jsx)("input",{name:t,type:"checkbox",checked:s,onChange:e=>{c(e.target.checked),i(e)},required:l,className:"sr-only peer"}),(0,M.jsx)("div",{className:"relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 rounded-full peer dark:bg-gray-200 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"}),(0,M.jsx)("span",{className:"ms-3 mr-2 text-sm",children:g})]}),r,e?.stateDescriptions?.enabled&&I&&(0,M.jsx)(m,{children:e?.stateDescriptions?.enabled}),e?.stateDescriptions?.disabled&&!I&&(0,M.jsx)(m,{children:e?.stateDescriptions?.disabled})]})}function L({name:e,label:t,value:g="",placeholder:a="",required:s=!1,callback:i,children:l}){return(0,M.jsxs)("div",{children:[(0,M.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,M.jsx)("input",{name:e,type:"password",value:g,onChange:i,placeholder:a,required:s,className:"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary focus:border-primary sm:text-sm"}),l]})}function p({name:e,label:t,value:g="",placeholder:a="",required:s=!1,callback:i,children:l}){return(0,M.jsxs)("div",{children:[(0,M.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,M.jsx)("input",{name:e,type:"text",value:g,onChange:i,placeholder:a,required:s,className:"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary focus:border-primary sm:text-sm"}),l]})}function y({name:e,label:t,value:g="",placeholder:s="",required:i=!1,callback:l,children:r,...I}){const[c,n]=(0,a.useState)(null!=g?g:0);return(0,M.jsxs)("div",{children:[(0,M.jsxs)("div",{className:"flex items-center justify-between",children:[(0,M.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,M.jsx)("input",{name:e,type:"number",value:c,onChange:l,placeholder:s,required:i,min:"0",className:"hidden"}),(0,M.jsxs)("div",{className:"inline-flex items-center gap-4",children:[(0,M.jsx)("button",{onClick:()=>{c>0&&n(c-1)},className:"px-2 py-1 font-mono text-lg text-gray-700 border border-gray-200 rounded-md hover:bg-gray-100",children:"-"}),(0,M.jsx)("span",{className:"text-lg font-mono font-semibold",children:c}),(0,M.jsx)("button",{onClick:()=>{n(c+1)},className:"px-2 py-1 font-mono text-lg text-gray-700 border border-gray-200 rounded-md hover:bg-gray-100",children:"+"})]})]}),r]})}function h({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z",clipRule:"evenodd"}))}const z=a.forwardRef(h);function b({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"}))}const v=a.forwardRef(b);function k({includeOptional:e=!1,provider:t,fields:g,callback:s}){const[i,l]=(0,a.useState)({}),[r,I]=(0,a.useState)(!1),c=e=>{"checkbox"!==e.target.type?(l({...i,[e.target.name]:e.target.value}),s(t,i)):l({...i,[e.target.name]:e.target.checked})};(0,a.useEffect)((()=>{g.forEach((e=>{e?.value&&l({...i,[e.name]:e.value})}))}),[]);const C=e=>{switch(e.type){case"boolean":return(0,M.jsx)(T,{name:e.name,label:e.label,value:i?.[e.name],callback:c,required:e.required,field:e,children:(0,M.jsx)(M.Fragment,{children:e?.description&&(0,M.jsx)(m,{children:e?.description})})});case"password":return(0,M.jsx)(L,{name:e.name,label:e.label,value:i?.[e.name],placeholder:e.placeholder,callback:c,required:e.required,field:e,children:(0,M.jsx)(M.Fragment,{children:e?.description&&(0,M.jsx)(m,{children:e?.description})})});case"number":return(0,M.jsx)(y,{name:e.name,label:e.label,value:i?.[e.name],placeholder:e.placeholder,callback:c,required:e.required,field:e,children:(0,M.jsx)(M.Fragment,{children:e?.description&&(0,M.jsx)(m,{children:e?.description})})});default:return(0,M.jsx)(p,{name:e.name,label:e.label,value:i?.[e.name],placeholder:e.placeholder,callback:c,required:e.required,field:e,children:(0,M.jsx)(M.Fragment,{children:e?.description&&(0,M.jsx)(m,{children:e?.description})})})}};return(0,M.jsx)(M.Fragment,{children:g.flatMap(((t,g)=>t?.optional&&!e?[]:(0,M.jsxs)("div",{children:[C(t),t?.help&&(0,M.jsxs)("div",{className:"mt-2",children:[(0,M.jsxs)("button",{type:"button",className:"text-sm text-custom hover:text-custom-dark flex items-center cursor-pointer help-toggle",onClick:()=>I(!r),children:[(0,M.jsx)(v,{className:"w-5 h-5 mr-1"}),(0,M.jsx)("span",{children:t?.help?.label||(0,n.__)("Help","fraktvalg")})]}),r&&(0,M.jsxs)(m,{children:[(0,M.jsx)("p",{children:t?.help?.text}),t?.help?.url?.link&&(0,M.jsx)("div",{className:"mt-3",children:(0,M.jsxs)("a",{href:t?.help?.url?.link,target:"_blank",className:"inline-flex items-center text-custom hover:text-custom-dark font-medium",children:[(0,M.jsx)("span",{children:t?.help?.url?.label}),(0,M.jsx)(z,{className:"ml-1 w-4 h-4"})]})})]})]})]},g)))})}function O({disabled:e=!1,plain:t=!1,className:g,children:a,onClick:s=()=>{},...i}){const r=l("block w-full bg-primary text-white rounded-md p-3","hover:bg-primary/90 hover:text-white","active:bg-primary/90 active:text-white","focus:bg-primary/90 focus:text-white","disabled:bg-black/80",g);return i.href?(0,M.jsx)("a",{className:r,...i,children:a}):(0,M.jsx)("button",{onClick:s,disabled:e,className:r,...i,children:a})}function f({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M11.47 7.72a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06L12 9.31l-6.97 6.97a.75.75 0 0 1-1.06-1.06l7.5-7.5Z",clipRule:"evenodd"}))}const E=a.forwardRef(f);function S({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z",clipRule:"evenodd"}))}const Y=a.forwardRef(S);function U({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"}))}const Q=a.forwardRef(U);function G({logo:e=null,...t}){const{alt:g=""}=t;return e?e.startsWith("http")?(0,M.jsx)("img",{src:e,alt:g,...t}):(e.startsWith("https")||(e=encodeURIComponent(e)),(0,M.jsx)("img",{src:"data:image/svg+xml;utf8,"+e,alt:g,...t})):(0,M.jsx)(Q,{...t})}function B({supplierId:e,supplier:t,title:g,content:s,isConnected:i=!1,visible:r=!0,classNames:I="",innerClassNames:c=""}){const[C,N]=(0,a.useState)(r),o=l("border bg-white rounded-md",I),d=l("border-t-2 border-gray-100 p-4",c);return(0,M.jsxs)("div",{className:o,children:[(0,M.jsx)("button",{className:"flex w-full p-4 items-center justify-between",onClick:()=>N(!C),children:(0,M.jsx)("h2",{className:"text-lg font-bold w-full",children:(0,M.jsxs)("div",{className:"flex item-center justify-between focus:outline-none w-full",children:[(0,M.jsxs)("div",{className:"flex",children:[t?.logo&&(0,M.jsx)("div",{children:(0,M.jsx)(G,{logo:t?.logo,alt:g,className:"w-8 h-8 mr-2"})}),(0,M.jsx)("div",{className:"inline-flex items-center gap-4",children:(0,M.jsx)("span",{children:g})})]}),(0,M.jsxs)("div",{className:"flex items-center gap-4",children:[i&&(0,M.jsx)("div",{className:"px-3 py-1 text-sm rounded-full bg-green-100 text-green-600",children:(0,n.__)("Connected","fraktvalg")}),!i&&(0,M.jsx)("div",{className:"px-3 py-1 text-sm rounded-full bg-red-100 text-red-600",children:(0,n.__)("Disconnected","fraktvalg")}),C?(0,M.jsx)(E,{className:"h-6 w-6 text-gray-600"}):(0,M.jsx)(Y,{className:"h-6 w-6 text-gray-600"})]})]})})}),C&&(0,M.jsx)("div",{className:d,children:s})]})}function Z({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{d:"M6.5 2.25a.75.75 0 0 0-1.5 0v3a.75.75 0 0 0 1.5 0V4.5h6.75a.75.75 0 0 0 0-1.5H6.5v-.75ZM11 6.5a.75.75 0 0 0-1.5 0v3a.75.75 0 0 0 1.5 0v-.75h2.25a.75.75 0 0 0 0-1.5H11V6.5ZM5.75 10a.75.75 0 0 1 .75.75v.75h6.75a.75.75 0 0 1 0 1.5H6.5v.75a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 .75-.75ZM2.75 7.25H8.5v1.5H2.75a.75.75 0 0 1 0-1.5ZM4 3H2.75a.75.75 0 0 0 0 1.5H4V3ZM2.75 11.5H4V13H2.75a.75.75 0 0 1 0-1.5Z"}))}const X=a.forwardRef(Z);function R({setProvider:e,setTab:t}){const[g,s]=(0,a.useState)({}),[i,l]=(0,a.useState)({}),[r,I]=(0,a.useState)(null),[N,d]=(0,a.useState)(!0),[j,u]=(0,a.useState)(null),[m,T]=(0,a.useState)(10),[L,p]=(0,a.useState)("percent"),[y,h]=(0,a.useState)(""),[z,b]=(0,a.useState)({}),v=(e,t)=>{b({...z,[e]:t})},f=()=>{I(null),c()({path:"fraktvalg/v1/settings/providers/mine",method:"GET"}).then((e=>{l(e?.mine?.data||{}),s(e?.available?.data||{}),e?.available?.data&&Object.keys(e?.available?.data).map((t=>{b({...z,[t]:e?.available?.data[t]?.fields})})),e?.mine?.data&&e?.mine?.data?.forEach((e=>{if(g[e?.id]){let t={...g};delete t[e?.id],s(t)}b({...z,[e?.id]:e?.fields})}))})).catch((e=>{I(e?.message)})).then((()=>{d(!1)}))},E=e=>{h(e),c()({path:"fraktvalg/v1/settings/providers/store",method:"POST",data:{providerId:e,fieldValues:z[e]}}).then((()=>{h("")}))};return(0,a.useEffect)((()=>{f(),c()({path:"fraktvalg/v1/settings/providers/priority",method:"GET"}).then((e=>{u(e?.data?.providerId),T(e?.data?.discount),p(e?.data?.discountType)}))}),[]),N?(0,M.jsx)(C,{title:"My providers",children:(0,M.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,M.jsx)(o,{className:"h-8 w-8 animate-spin text-primary"}),(0,M.jsx)("div",{className:"text-lg",children:(0,n.__)("Fetching available providers...","fraktvalg")})]})}):(0,M.jsx)(C,{title:"My providers",children:(0,M.jsxs)("div",{className:"grid grid-cols-1 gap-3",children:[r&&(0,M.jsx)(D,{type:"error",title:"Error fetching providers",children:r}),Object.keys(i).map((g=>(0,M.jsx)(B,{isConnected:!0,title:i[g]?.name,supplierId:g,supplier:i[g],content:(0,M.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[y===g&&(0,M.jsxs)("div",{className:"absolute w-full h-full top-0 left-0 bg-white flex flex-col justify-center items-center gap-2",children:[(0,M.jsx)(o,{className:"h-6 w-6 animate-spin text-primary"}),(0,M.jsx)("span",{children:(0,n.__)("Saving provider settings, one moment please...","fraktvalg")})]}),(0,M.jsx)(k,{includeOptional:!0,provider:g,fields:i[g]?.fields||[],callback:v}),(0,M.jsxs)("div",{className:"flex flex-col md:flex-row justify-between gap-2",children:[(0,M.jsx)("div",{className:"flex flex-col md:flex-row justify-start gap-2",children:(0,M.jsxs)(O,{type:"button",className:"md:inline-block md:w-fit",onClick:()=>{e(i[g]),t("shipping-methods")},children:[(0,M.jsx)(X,{className:"w-4 h-4 mr-2 inline-block"}),(0,n.__)("Configure shipping methods","fraktvalg")]})}),(0,M.jsxs)("div",{className:"flex flex-col md:flex-row justify-end gap-2",children:[(0,M.jsx)(O,{className:"md:inline-block md:w-fit bg-red-600 hover:bg-red-500 active:bg-red-500 focus:bg-red-500",type:"button",onClick:()=>{return e=i[g],void(confirm((0,n.__)("Are you sure you want to disconnect this provider?","fraktvalg"))&&(h(e?.id),c()({path:"fraktvalg/v1/settings/providers/disconnect",method:"POST",data:{provider:e?.id}}).then((e=>{f()}))));var e},children:(0,n.__)("Disconnect provider","fraktvalg")}),(0,M.jsx)(O,{className:"md:inline-block md:w-fit",type:"button",onClick:()=>E(g),children:(0,n.__)("Update provider settings","fraktvalg")})]})]})]})},g))),(0,M.jsx)("hr",{className:"border-gray-200 my-2"}),Object.keys(g).map((e=>(0,M.jsx)(B,{title:g[e]?.name,supplierId:e,supplier:g[e],visible:!1,content:(0,M.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[y===e&&(0,M.jsxs)("div",{className:"absolute w-full h-full top-0 left-0 bg-white flex flex-col justify-center items-center gap-2",children:[(0,M.jsx)(o,{className:"h-6 w-6 animate-spin text-primary"}),(0,M.jsx)("span",{children:(0,n.__)("Connecting provider, one moment please...","fraktvalg")})]}),(0,M.jsx)(k,{provider:e,fields:g[e]?.fields||[],callback:v}),(0,M.jsx)(O,{type:"button",onClick:()=>E(e),children:(0,n.__)("Connect to this provider","fraktvalg")})]})},e))),(0,M.jsx)("div",{className:"bg-white rounded-lg shadow p-6 border-2 border-dashed border-gray-300",children:(0,M.jsxs)("div",{className:"flex flex-col items-center text-center",children:[(0,M.jsx)("div",{className:"w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center mb-4",children:(0,M.jsx)(A,{className:"w-8 h-8 text-primary"})}),(0,M.jsx)("h2",{className:"text-xl font-semibold text-gray-900 mb-2",children:(0,n.__)("More providers are coming 🥳","fraktvalg")}),(0,M.jsx)("p",{className:"text-gray-600 mb-4",children:(0,n.__)("We are continually working to integrate more shipping providers to you you more opportunities.","fraktvalg")}),(0,M.jsxs)("div",{className:"space-y-2",children:[(0,M.jsx)("p",{className:"text-sm text-gray-600",children:(0,n.__)("Is there someone you would like to see here?","fraktvalg")}),(0,M.jsxs)("a",{href:"mailto:[email protected]",className:"inline-flex items-center text-custom hover:text-custom-dark font-medium",children:[(0,M.jsx)("span",{children:(0,n.__)("Send us an e-mail","fraktvalg")}),(0,M.jsx)(x,{className:"ml-1 w-4 h-4"})]})]})]})}),Object.keys(i).length>1&&(0,M.jsxs)("div",{className:"bg-white rounded-lg shadow p-6",children:[(0,M.jsx)("h2",{className:"text-xl font-semibold text-gray-900 mb-2",children:(0,n.__)("Preferred provider","fraktvalg")}),(0,M.jsx)("p",{className:"text-gray-600 mb-4",children:(0,n.__)("Choose which provider should always be the cheapest option in your store. This gives you the opportunity to prioritize one provider by making their prices more competitive.","fraktvalg")}),(0,M.jsxs)("div",{className:"grid grid-cols-1 gap-4",children:[(0,M.jsx)("p",{children:(0,n.__)("Price reduction for your preferred provider","fraktvalg")}),(0,M.jsxs)("div",{className:"flex items-center gap-3",children:[(0,M.jsx)("input",{value:m,onChange:e=>T(e.target.value),type:"number",min:"0",step:"1",placeholder:"10",className:"w-16 border border-gray-300 rounded-md p-2"}),(0,M.jsxs)("select",{className:"border border-gray-300 rounded-md p-2",value:L,onChange:e=>p(e.target.value),children:[(0,M.jsx)("option",{value:"percent",children:"%"}),(0,M.jsx)("option",{value:"fixed",children:"NOK"})]}),(0,M.jsx)("label",{htmlFor:"something",children:(0,n.__)("Determine how much cheaper your preferred provider should be compared to the cheapest competitor.","fraktvalg")})]}),(0,M.jsx)("div",{className:"flex gap-4",children:Object.keys(i).map((e=>(0,M.jsxs)("label",{className:"relative cursor-pointer grow flex flex-col gap-2 items-center border-2 border-gray-300 rounded-lg p-4 hover:border-primary peer-checked:border-primary transition-all duration-200",children:[(0,M.jsx)("input",{type:"radio",name:"preferred_provider",value:e,className:"sr-only peer",defaultChecked:j===e,onChange:()=>u(j===e?null:e)}),i[e]?.logo&&(0,M.jsx)(G,{logo:i[e]?.logo,className:"w-8 h-8"}),(0,M.jsx)("span",{className:"text-lg font-medium text-gray-900",children:i[e]?.name}),(0,M.jsx)("div",{className:"absolute top-2 right-2 hidden peer-checked:block",children:(0,M.jsx)(w,{className:"w-6 h-6 text-primary"})}),(0,M.jsx)("p",{className:"text-sm text-gray-5400 text-center",children:i[e]?.description}),(0,M.jsx)("p",{className:"text-xs text-primary font-medium peer-checked:block hidden",children:(0,n.__)("Currently chosen as your preferred provider","fraktvalg")})]},e)))}),(0,M.jsx)(O,{type:"button",onClick:()=>{c()({path:"fraktvalg/v1/settings/providers/priority/store",method:"POST",data:{priorityProvider:{providerId:j,discount:m,discountType:L}}})},children:(0,n.__)("Save preferred provider preferences","fraktvalg")})]})]})]})})}function F({title:e,children:t,open:g=!1}){const[s,i]=(0,a.useState)(g||!1);return(0,M.jsxs)("div",{className:"border bg-white rounded-md",children:[(0,M.jsxs)("button",{className:"w-full flex p-4 justify-between",onClick:()=>i(!s),children:[(0,M.jsx)("h2",{className:"text-lg text-left font-bold w-full",children:e}),(0,M.jsx)("div",{className:"relative inline-block",children:s?(0,M.jsx)(E,{className:"h-6 w-6 text-primary"}):(0,M.jsx)(Y,{className:"h-6 w-6 text-primary"})})]}),s&&(0,M.jsx)("div",{className:"p-4",children:t})]})}function P({}){const[e,t]=(0,a.useState)(null),[g,s]=(0,a.useState)({freight:{addedCost:0,addedCostType:"fixed",custom:{name:(0,n.__)("Shipping & handling","fraktvalg"),price:100,type:"fixed"}},useProduction:!0,names:[]}),[i,l]=(0,a.useState)(!0),r=e=>{switch(e.target.name){case"freight[addedCost]":s({...g,freight:{...g.freight,addedCost:e.target.value}});break;case"freight[addedCostType]":s({...g,freight:{...g.freight,addedCostType:e.target.value}});break;case"freight[custom][name]":s({...g,freight:{...g.freight,custom:{...g.freight.custom,name:e.target.value}}});break;case"freight[custom][price]":s({...g,freight:{...g.freight,custom:{...g.freight.custom,price:e.target.value}}});break;case"freight[custom][type]":s({...g,freight:{...g.freight,custom:{...g.freight.custom,type:e.target.value}}});break;case"useProduction":s({...g,useProduction:e.target.checked});break;default:s({...g,[e.target.name]:e.target.value})}};return(0,a.useEffect)((()=>{t(null),l(!0),c()({path:"/fraktvalg/v1/settings/optional-settings",method:"GET"}).then((e=>{s(e?.data||g),l(!1)})).catch((e=>{t({type:"error",title:(0,n.__)("Error fetching optional settings","fraktvalg"),message:e?.message}),l(!1)}))}),[]),i?(0,M.jsx)(C,{title:"My providers",children:(0,M.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,M.jsx)(o,{className:"h-8 w-8 animate-spin text-primary"}),(0,M.jsx)("div",{className:"text-lg",children:"Fetching optional settings..."})]})}):(0,M.jsx)(C,{title:"Optional settings",children:(0,M.jsxs)("div",{className:"grid grid-cols-1 gap-3",children:[(0,M.jsxs)(F,{title:(0,n.__)("Backup shipping option","fraktvalg"),open:!0,children:[(0,M.jsx)("p",{children:(0,n.__)("If Fraktvalg should ever become unavailable, create a shipping alternative that will be used instead.","fraktvalg")}),(0,M.jsxs)("div",{className:"mt-2 grid grid-cols-1 gap-4",children:[(0,M.jsx)(p,{label:(0,n.__)("Shipping option name","fraktvalg"),name:"freight[custom][name]",value:g.freight.custom.name,callback:r}),(0,M.jsxs)("div",{className:"flex items-center gap-3",children:[(0,M.jsx)("input",{name:"freight[custom][price]",value:g.freight.custom.price,onChange:r,type:"number",min:"0",step:"1",placeholder:"25",className:"w-16 border border-gray-300 rounded-md p-2"}),(0,M.jsxs)("select",{name:"freight[custom][type]",className:"border border-gray-300 rounded-md p-2",value:g.freight.custom.type,onChange:r,children:[(0,M.jsx)("option",{value:"percent",children:"%"}),(0,M.jsx)("option",{value:"fixed",children:"NOK"})]}),(0,M.jsxs)("div",{children:[(0,M.jsx)("label",{htmlFor:"something",children:(0,n.__)("Backup shipping cost","fraktvalg")}),(0,M.jsx)("p",{className:"text-xs italic",children:(0,n.__)("The backup shipping cost can be set to either a fixed value, or a percentage of the order total.","fraktvalg")})]})]})]})]}),(0,M.jsxs)(F,{title:(0,n.__)("Shipping cost adjustments","fraktvalg"),open:!0,children:[(0,n.__)("Safeguard your shipping costs with these optional alternatives.","fraktvalg"),(0,M.jsxs)("div",{className:"flex items-center gap-3",children:[(0,M.jsx)("input",{name:"freight[addedCost]",value:g.freight.addedCost,onChange:r,type:"number",min:"0",step:"1",placeholder:"10",className:"w-16 border border-gray-300 rounded-md p-2"}),(0,M.jsxs)("select",{name:"freight[addedCostType]",className:"border border-gray-300 rounded-md p-2",value:g.freight.addedCostType,onChange:r,children:[(0,M.jsx)("option",{value:"percent",children:"%"}),(0,M.jsx)("option",{value:"fixed",children:"NOK"})]}),(0,M.jsxs)("div",{children:[(0,M.jsx)("label",{htmlFor:"something",children:(0,n.__)("Add an optional surcharge to all shipping options","fraktvalg")}),(0,M.jsx)("p",{className:"text-xs italic",children:(0,n.__)("Additional shipping surcharges are meant to cover administrative- and handling costs, and is automatically added to all shipping alternatives.","fraktvalg")})]})]})]}),(0,M.jsxs)(F,{title:(0,n.__)("Shop environment","fraktvalg"),open:!0,children:[(0,M.jsx)("p",{children:(0,n.__)("Some times, you wish to use the shipping providers test environments, for example on a staging site. Doing so will not create legitimate shipping requests, and prevents yo ufrom incurring charges while testing your store setup.","fraktvalg")}),(0,M.jsx)("div",{className:"mt-2 grid grid-cols-1 gap-4",children:(0,M.jsx)(T,{label:(0,n.__)("Use production environments","fraktvalg"),name:"useProduction",value:g.useProduction,callback:r})})]}),e&&(0,M.jsx)(D,{type:e.type,title:e.title,children:e.message}),(0,M.jsx)(O,{type:"button",onClick:()=>{t(null),c()({path:"/fraktvalg/v1/settings/optional-settings",method:"POST",data:{options:g}}).then((e=>{t({type:e?.type,title:e?.title,message:e?.message})})).catch((e=>{t({type:"error",title:(0,n.__)("Error saving optional settings","fraktvalg"),message:e?.message})}))},children:(0,n.__)("Save optional settings","fraktvalg")})]})})}function W({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M19.449 8.448 16.388 11a4.52 4.52 0 0 1 0 2.002l3.061 2.55a8.275 8.275 0 0 0 0-7.103ZM15.552 19.45 13 16.388a4.52 4.52 0 0 1-2.002 0l-2.55 3.061a8.275 8.275 0 0 0 7.103 0ZM4.55 15.552 7.612 13a4.52 4.52 0 0 1 0-2.002L4.551 8.45a8.275 8.275 0 0 0 0 7.103ZM8.448 4.55 11 7.612a4.52 4.52 0 0 1 2.002 0l2.55-3.061a8.275 8.275 0 0 0-7.103 0Zm8.657-.86a9.776 9.776 0 0 1 1.79 1.415 9.776 9.776 0 0 1 1.414 1.788 9.764 9.764 0 0 1 0 10.211 9.777 9.777 0 0 1-1.415 1.79 9.777 9.777 0 0 1-1.788 1.414 9.764 9.764 0 0 1-10.212 0 9.776 9.776 0 0 1-1.788-1.415 9.776 9.776 0 0 1-1.415-1.788 9.764 9.764 0 0 1 0-10.212 9.774 9.774 0 0 1 1.415-1.788A9.774 9.774 0 0 1 6.894 3.69a9.764 9.764 0 0 1 10.211 0ZM14.121 9.88a2.985 2.985 0 0 0-1.11-.704 3.015 3.015 0 0 0-2.022 0 2.985 2.985 0 0 0-1.11.704c-.326.325-.56.705-.704 1.11a3.015 3.015 0 0 0 0 2.022c.144.405.378.785.704 1.11.325.326.705.56 1.11.704.652.233 1.37.233 2.022 0a2.985 2.985 0 0 0 1.11-.704c.326-.325.56-.705.704-1.11a3.016 3.016 0 0 0 0-2.022 2.985 2.985 0 0 0-.704-1.11Z",clipRule:"evenodd"}))}const J=a.forwardRef(W);function K({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{d:"M4.913 2.658c2.075-.27 4.19-.408 6.337-.408 2.147 0 4.262.139 6.337.408 1.922.25 3.291 1.861 3.405 3.727a4.403 4.403 0 0 0-1.032-.211 50.89 50.89 0 0 0-8.42 0c-2.358.196-4.04 2.19-4.04 4.434v4.286a4.47 4.47 0 0 0 2.433 3.984L7.28 21.53A.75.75 0 0 1 6 21v-4.03a48.527 48.527 0 0 1-1.087-.128C2.905 16.58 1.5 14.833 1.5 12.862V6.638c0-1.97 1.405-3.718 3.413-3.979Z"}),a.createElement("path",{d:"M15.75 7.5c-1.376 0-2.739.057-4.086.169C10.124 7.797 9 9.103 9 10.609v4.285c0 1.507 1.128 2.814 2.67 2.94 1.243.102 2.5.157 3.768.165l2.782 2.781a.75.75 0 0 0 1.28-.53v-2.39l.33-.026c1.542-.125 2.67-1.433 2.67-2.94v-4.286c0-1.505-1.125-2.811-2.664-2.94A49.392 49.392 0 0 0 15.75 7.5Z"}))}const _=a.forwardRef(K);function H({}){return(0,M.jsx)(C,{title:"Support",children:(0,M.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-5",children:[(0,M.jsxs)("div",{className:"grid grid-cols-1 gap-3 bg-tertiary/10 p-5 rounded-md",children:[(0,M.jsx)("h2",{className:"text-lg font-semibold",children:(0,n.__)("Fraktvalg support","fraktvalg")}),(0,M.jsx)("p",{className:"text-sm",children:(0,n.__)("For help with the Fraktvalg API, your subscription, or other questions, please contact us directly.","fraktvalg")}),(0,M.jsx)("div",{className:"justify-end align-bottom",children:(0,M.jsxs)(O,{href:"mailto:[email protected]",className:"inline-flex items-center gap-3",children:[(0,M.jsx)(J,{className:"w-4 h-4 inline-block"}),(0,n.__)("Contact Fraktvalg support","fraktvalg")]})})]}),(0,M.jsxs)("div",{className:"grid grid-cols-1 gap-3 bg-tertiary/10 p-5 rounded-md",children:[(0,M.jsx)("h2",{className:"text-lg font-semibold",children:(0,n.__)("Community support","fraktvalg")}),(0,M.jsx)("p",{className:"text-sm",children:(0,n.__)("If you are having trouble with WordPress, or using the plugin, please use the community support forums at WordPress.org.","fraktvalg")}),(0,M.jsx)("div",{className:"justify-end align-bottom",children:(0,M.jsxs)(O,{href:"https://wordpress.org/support/plugin/fraktvalg/",className:"inline-flex items-center gap-3",children:[(0,M.jsx)(_,{className:"w-4 h-4 inline-block"}),(0,n.__)("Visit the WordPress.org support forums","fraktvalg"),(0,M.jsx)("span",{className:"sr-only",children:(0,n.__)("External link, opens in a new tab","frakt")})]})})]})]})})}function V({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z",clipRule:"evenodd"}))}const q=a.forwardRef(V);function $({supplier:e,setTab:t}){const[g,s]=(0,a.useState)(!1),[i,l]=(0,a.useState)([]);return(0,a.useEffect)((()=>{s(!0),c()({path:"fraktvalg/v1/settings/providers/methods",method:"POST",data:{shipper_id:e.id}}).then((e=>{l(e),s(!1)}))}),[]),(0,M.jsxs)(C,{title:(0,M.jsxs)("div",{className:"flex justify-between",children:[(0,M.jsxs)("div",{className:"flex items-center gap-2",children:[e?.logo&&(0,M.jsx)("div",{children:(0,M.jsx)(G,{logo:e?.logo,alt:e?.name,className:"w-8 h-8 mr-2"})}),(0,M.jsx)("div",{className:"inline-flex items-center gap-4",children:(0,M.jsx)("span",{children:e?.name})})]}),(0,M.jsx)("div",{children:(0,M.jsxs)(O,{type:"button",onClick:()=>t("providers"),className:"text-sm",children:[(0,M.jsx)(q,{className:"h-4 w-4 mr-2 inline-block"}),(0,n.__)("Back to providers","fraktvalg")]})})]}),children:[g&&(0,M.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,M.jsx)(o,{className:"h-8 w-8 animate-spin text-primary"}),(0,M.jsx)("div",{className:"text-lg",children:(0,n.__)("Loading shipping methods...","fraktvalg")})]}),!g&&0===i.length&&(0,M.jsx)(D,{children:(0,n.__)("This provider does not offer any shipping methods that can be modified.","fraktvalg")}),!g&&i.length>0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)("table",{className:"min-w-full divide-y divide-gray-200",children:[(0,M.jsx)("thead",{className:"bg-gray-50",children:(0,M.jsxs)("tr",{children:[(0,M.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:(0,n.__)("Active","fraktvalg")}),(0,M.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:(0,n.__)("Name","fraktvalg")}),(0,M.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:(0,n.__)("Price","fraktvalg")})]})}),(0,M.jsx)("tbody",{className:"bg-white divide-y divide-gray-200",children:i.map(((e,t)=>(0,M.jsxs)("tr",{children:[(0,M.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:(0,M.jsxs)("label",{children:[(0,M.jsx)("input",{type:"checkbox",checked:e.active,onChange:()=>{const e=[...i];e[t].active=!e[t].active,l(e)}}),(0,M.jsx)("span",{className:"ml",children:(0,n.__)("Active","fraktvalg")})]})}),(0,M.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900",children:(0,M.jsxs)("div",{className:"flex flex-col",children:[(0,M.jsx)("small",{className:"text-gray-500",children:e.originalName}),(0,M.jsx)("input",{type:"text",value:e.name,onChange:e=>{const g=[...i];g[t].name=e.target.value,l(g)},className:"border border-gray-300 rounded-md p-2"})]})}),(0,M.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-right text-gray-500",children:(0,M.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,M.jsxs)("label",{children:[(0,M.jsx)("span",{className:"mr-2",children:(0,n.__)("Set a fixed price for this shipping method","fraktvalg")}),(0,M.jsx)("input",{type:"checkbox",checked:e.canEditPrice,onChange:()=>{const e=[...i];e[t].canEditPrice=!e[t].canEditPrice,l(e)}})]}),(0,M.jsx)("input",{type:"number",value:e.price||"",disabled:!e.canEditPrice,onChange:e=>{const g=[...i];g[t].price=e.target.value,l(g)},className:"border border-gray-300 rounded-md p-2"})]})})]},e.id)))})]}),(0,M.jsx)(O,{type:"button",onClick:()=>{c()({path:"fraktvalg/v1/settings/providers/methods/store",method:"POST",data:{shipper_id:e.id,fields:i}}).then((e=>{console.log(e)}))},className:"mt-4",children:(0,n.__)("Save","fraktvalg")})]})]})}function ee({}){const[e,t]=(0,a.useState)("providers"),[g,s]=(0,a.useState)(null);return(0,M.jsxs)("div",{className:"min-h-full",children:[(0,M.jsx)(r,{tabs:[{label:"My providers",value:"providers"},{label:"Optional settings",value:"settings"},{label:"Support",value:"support"}],activeTab:e,setTab:t}),"providers"===e&&(0,M.jsx)(R,{setProvider:s,setTab:t}),"shipping-methods"===e&&(0,M.jsx)($,{supplier:g,setTab:t}),"settings"===e&&(0,M.jsx)(P,{}),"support"===e&&(0,M.jsx)(H,{})]})}const te=document.getElementById("fraktvalg-settings");te&&(0,s.H)(te).render((0,M.jsx)(ee,{}))})();1 (()=>{"use strict";var e={338:(e,t,a)=>{var g=a(795);t.H=g.createRoot,g.hydrateRoot},20:(e,t,a)=>{var g=a(609),i=Symbol.for("react.element"),s=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,r=g.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,M={key:!0,ref:!0,__self:!0,__source:!0};function I(e,t,a){var g,s={},I=null,c=null;for(g in void 0!==a&&(I=""+a),void 0!==t.key&&(I=""+t.key),void 0!==t.ref&&(c=t.ref),t)l.call(t,g)&&!M.hasOwnProperty(g)&&(s[g]=t[g]);if(e&&e.defaultProps)for(g in t=e.defaultProps)void 0===s[g]&&(s[g]=t[g]);return{$$typeof:i,type:e,key:I,ref:c,props:s,_owner:r.current}}t.Fragment=s,t.jsx=I,t.jsxs=I},848:(e,t,a)=>{e.exports=a(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM}},t={};function a(g){var i=t[g];if(void 0!==i)return i.exports;var s=t[g]={exports:{}};return e[g](s,s.exports,a),s.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var g in t)a.o(t,g)&&!a.o(e,g)&&Object.defineProperty(e,g,{enumerable:!0,get:t[g]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var g=a(609),i=a(338);function s(e){var t,a,g="";if("string"==typeof e||"number"==typeof e)g+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(a=s(e[t]))&&(g&&(g+=" "),g+=a)}else for(a in e)e[a]&&(g&&(g+=" "),g+=a);return g}function l(){for(var e,t,a=0,g="",i=arguments.length;a<i;a++)(e=arguments[a])&&(t=s(e))&&(g&&(g+=" "),g+=t);return g}var r=a(848);function M({tabs:e,activeTab:t,setTab:a}){return(0,r.jsx)("div",{className:"border-b border-gray-200 bg-white",children:(0,r.jsx)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:(0,r.jsx)("nav",{children:(0,r.jsx)("div",{className:"flex h-16 justify-between",children:(0,r.jsxs)("div",{className:"flex",children:[(0,r.jsx)("div",{className:"flex shrink-0 items-center",children:(0,r.jsx)("img",{className:"block h-8 w-auto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMzUwIgogICBoZWlnaHQ9Ijk2LjI3NzM1OSIKICAgdmlld0JveD0iMCAwIDkyLjYwNDE1NiAyNS40NzMzODEiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzEiCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczEiPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEwMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTI1Mi4zNDE1NiwtNjkuNTExNzIxKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEwMSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTAzIj4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMjgwLjk3OTcxLC03OS41OTE4MDIpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTAzIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMDUiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC0zMDAuNTQ2MzgsLTc4Ljg5NjQ4NCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMDUiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEwNyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTMzMi42ODExOCwtNjkuNTExNzIxKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEwNyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTA5Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMzYzLjIyNDYzLC03MS4yMTg3NTIpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTA5IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMTEiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC0zODIuODQ4MTYsLTc5Ljc0OTk5OSkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMTEiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDExMyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTQxMi41OTQ3NCwtNzguODk2NDg0KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDExMyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTE1Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTIzMS42MzE5LC00OTYuNzEwOTYpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTE1IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMTciPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC00NTUuNjIxMzQsLTc4Ljg5NjQ4NCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMTciIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDExOSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTY5OC42ODA4OSwtNTc1LjAyNzM2KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDExOSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTIxIj4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTgwLjY3NDc4LC04MS4zMDg1OTcpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTIxIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMjMiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC03NTEuMTA3NDcsLTUyMi4yOTEwNCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMjMiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEyNSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTY3Mi4wMDIxOSwtNDk1LjkyMTg5KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEyNSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTI3Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTY3LjQ4MjQzLC04MS4zMDg1OTcpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTI3IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMjkiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC02NDUuOTQyMTcsLTQ5NS45MjE4OSkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMjkiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEzMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTEzNS4xOTA5NSwtNDIuMDk5NjExKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEzMSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4MDY4NDUsLTAuMzc3MjQwNDgpIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwMCIKICAgICAgIGQ9Im0gNTkxLjI2NjYsNTExLjczOTE3IHYgLTgyLjgxNTMxIGggNDkuODYxNDUgdiAxMy44NTgxNSBoIC0zNi4wMDA0OSB2IDIwLjY0Njc5IGggMzYuMDAwNDkgdiAxMy44MDI2MSBoIC0zNi4wMDA0OSB2IDM0LjUwNzc2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTQ2LjU0ODIyNiwtNDguNTk4OTE1KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDEwMSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMDIiCiAgICAgICBkPSJtIDYyMC41NDE5OSw1MDEuNjU5MTUgdiAtNjIuMTEyNDkgaCAxMi4yNTEyMiB2IDE1LjEyNTYxIGwgLTEuNDk5NTEsLTEuOTU0NTMgYyAwLjc3MTYxLC0yLjA3MTIzIDEuNzk0MTksLTMuOTU4NDkgMy4wODAyLC01LjY2MzY5IDEuMjg1ODksLTEuNzA1MjYgMi44MjY5MSwtMy4xMTc2OCA0LjYyOTAzLC00LjIyOTQzIDEuNTM1MTYsLTEuMDM0NjEgMy4yMjgzOSwtMS44NDk2NyA1LjA4OTk3LC0yLjQ0MzEyIDEuODU5NjEsLTAuNTkxNDkgMy43Njg1NSwtMC45NTc0NiA1LjcyNDk3LC0xLjA5MTk4IDEuOTU0NTksLTAuMTM0NTIgMy44NDk3MywtMC4wNDk0IDUuNjg5NDUsMC4yNTcxNCB2IDEyLjk0MTU5IGMgLTEuODM5NzIsLTAuNTM4MDkgLTMuOTU2NTQsLTAuNzEwMiAtNi4zNTIxNywtMC41MTgzMSAtMi4zOTk0MSwwLjE5IC00LjU1MzgzLDAuODYyNTUgLTYuNDcwODIsMi4wMTM4NiAtMS45MTY3NSwxLjAzMjcxIC0zLjQ3OTYyLDIuMzU2MDcgLTQuNjg2MjgsMy45NjYzIC0xLjIwODc0LDEuNjEyMzEgLTIuMTAyOTEsMy40NDQyMiAtMi42NzQ2OSw1LjQ5NTU1IC0wLjU3NTU2LDIuMDQ5NTYgLTAuODY0MzgsNC4yNjMxOCAtMC44NjQzOCw2LjYzODk4IHYgMzEuNTc0NTIgeiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNDIuNzkyODYzLC00Ny4yNzcxMDEpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTAzKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwNCIKICAgICAgIGQ9Im0gNjYxLjM2Mjc5LDUwNC4wODE0OCBjIC00LjQ4NjU3LDAgLTguMjgyODMsLTAuODU0NjEgLTExLjM5MDUsLTIuNTU5ODEgLTMuMTAxOTMsLTEuNzA1MiAtNS40NTQxLC0zLjk3ODIxIC03LjA0MjYsLTYuODE1IC0xLjU5MjQxLC0yLjgzNjc0IC0yLjM4NTc0LC01Ljk2MjQxIC0yLjM4NTc0LC05LjM3NDg4IDAsLTIuOTkwOTcgMC40OTY1OCwtNS42ODM0MSAxLjQ5MTU3LC04LjA4MTA2IDAuOTk5MDMsLTIuMzk1NjMgMi41MzQxOCwtNC40NjQ4NCA0LjYwMTU2LC02LjIxMTYxIDIuMDczLC0xLjc0Mjg2IDQuNzU1NSwtMy4xNjkxMiA4LjA1MzIzLC00LjI4Mjg5IDIuNDkyNTUsLTAuODA1MTIgNS40MTYzOCwtMS41MzMwOSA4Ljc2OTQxLC0yLjE4Mzk2IDMuMzU3MTcsLTAuNjUwODIgNi45OTkxNCwtMS4yNTYxNyAxMC45Mjc4NSwtMS44MTQwMyAzLjkzMjc0LC0wLjU1NTkxIDguMDQzNTgsLTEuMTU3MjkgMTIuMzM2MzEsLTEuODEyMDEgbCAtNC45NDU2OCwyLjgxODkxIGMgMC4wMzc2LC00LjI5MjczIC0wLjkxOTkyLC03LjQ1Nzg5IC0yLjg3NDI3LC05LjQ4OTU3IC0xLjk1NDU5LC0yLjAzMTY3IC01LjI1MjIsLTMuMDQ4NDYgLTkuODkzMTksLTMuMDQ4NDYgLTIuNzk5MTksMCAtNS41MDE0NiwwLjY1MjgzIC04LjExMDg0LDEuOTU0NTMgLTIuNjA3MTgsMS4zMDU2IC00LjQyNzI0LDMuNTQ4OTUgLTUuNDYxNzksNi43MzE4NyBsIC0xMi42NTA4OCwtMy45NzAyNyBjIDEuNTMzMiwtNS4yNTIyIDQuNDU1MDgsLTkuNDY3NzggOC43Njk1MywtMTIuNjUyNzcgNC4zMTA1NSwtMy4xODA5NyAxMC4xMzA2MiwtNC43NzM0NCAxNy40NTM5OCwtNC43NzM0NCA1LjUyMTI0LDAgMTAuMzgxODQsMC45MDAwMiAxNC41Nzk1OSwyLjcwMjIxIDQuMTk3NzYsMS44MDIxOCA3LjMxMzQ4LDQuNzU1NjEgOS4zNDUyMiw4Ljg1ODUyIDEuMTExNjksMi4xODM5NiAxLjc4NDE4LDQuNDE5MzcgMi4wMTE3Miw2LjcwMDI2IDAuMjMxNTYsMi4yODA5NCAwLjM0ODI2LDQuNzY1NjIgMC4zNDgyNiw3LjQ0NjEgdiAzOC4xMzAzNyBIIDY4My4xNTcxIHYgLTEzLjQ1Nzg4IGwgMi4wMTM5MiwyLjE4Nzg2IGMgLTIuNzk5MzIsNC40ODQ2OCAtNi4wNjU0Myw3Ljc3MjU5IC05LjgwNDIsOS44NjE1NyAtMy43Mzg3NywyLjA4ODkzIC04LjQwNzU5LDMuMTM1NDQgLTE0LjAwNDAzLDMuMTM1NDQgbSAyLjc1OTc3LC0xMS4wNDI0OCBjIDMuMTQzNDMsMCA1LjgyNzg4LC0wLjU1NTg1IDguMDUxNTEsLTEuNjY3NiAyLjIyMzM5LC0xLjExMzgzIDMuOTk1ODUsLTIuNDc0NzkgNS4zMTkyMiwtNC4wODUwOCAxLjMyMzQ4LC0xLjYwODM0IDIuMjEzNzQsLTMuMTI1NjEgMi42NzY2MywtNC41NDIgMC43MjYwOCwtMS43NjQ1OCAxLjEzNzU4LC0zLjc4NjMxIDEuMjM0MzgsLTYuMDY3MjYgMC4wOTY5LC0yLjI4MDg4IDAuMTQ2NDgsLTQuMTMwNjEgMC4xNDY0OCwtNS41NTA5IGwgNC4yNTMwNSwxLjI2NTk5IGMgLTQuMTc3OTgsMC42NTA5NCAtNy43NjQ1MiwxLjIyNjU2IC0xMC43NTM1NCwxLjcyNzExIC0yLjk5MTIxLDAuNDk2NTIgLTUuNTYwNzksMC45NjU0IC03LjcwNzI3LDEuNDA2NSAtMi4xNDgzMiwwLjQ0MTEgLTQuMDQzNDYsMC45Mjk3NSAtNS42OTMyNCwxLjQ2NzgzIC0xLjYxMDM1LDAuNTczNjcgLTIuOTcxNDQsMS4yNDYyOCAtNC4wODUwOCwyLjAxMTg0IC0xLjExMTcsMC43Njc2NCAtMS45NjI0MSwxLjY0OTg0IC0yLjU1Nzg2LDIuNjQ2OTEgLTAuNTk3NDIsMC45OTUgLTAuODkyMjIsMi4xNjQxMyAtMC44OTIyMiwzLjUwNzMzIDAsMS41MzUxNSAwLjM4Mzc5LDIuODg0MjggMS4xNTEzNyw0LjA1NTQyIDAuNzY3NTgsMS4xNjkxMyAxLjg4NzIxLDIuMDk2OTIgMy4zNjQ5OSwyLjc4NzM1IDEuNDc1NzEsMC42OTIzMiAzLjMwNzYyLDEuMDM2NTYgNS40OTE1OCwxLjAzNjU2IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC00MC4yMjcwNTQsLTQ3LjM2ODI3OSkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMDUpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTA2IgogICAgICAgZD0ibSA2NzMuMzkzOTIsNTExLjczOTE3IDAuMTE0MDEsLTgyLjgxNTMxIGggMTQuMDM2MjYgdiA1MC42MDk0MyBsIDIyLjcxNDk3LC0yOS45MDcwNCBoIDE3LjMxMDkxIGwgLTI0LjA5NjgsMzEuMDU3ODYgMjYuMTY3OTcsMzEuMDU1MDYgaCAtMTguMzQ3OTEgbCAtMjMuNzQ5MTQsLTI5LjkwNjk5IHYgMjkuOTA2OTkgeiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtMzYuMDEzMTY5LC00OC41OTg5MTUpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTA3KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwOCIKICAgICAgIGQ9Im0gNzA5LjQ0OTg5LDQ0Ny45MjAxNCBoIDI3LjIwMjUxIHYgMTAuODcwNDIgaCAtMjcuMjAyNTEgeiBtIDI3LjIwMjUxLDYyLjExMjQ4IGMgLTQuMTA0NzMsMC43NjU2OSAtOC4xMTg1MywxLjEwMTg3IC0xMi4wNDkzMSwxLjAwODk4IC0zLjkyODgzLC0wLjEwMDk2IC03LjQ1MDA3LC0wLjgyNzAzIC0xMC41NTE4OCwtMi4xODc5OSAtMy4xMDc3OSwtMS4zNTkwMSAtNS40NjU5NCwtMy41MTczNCAtNy4wNzQyMiwtNi40NzA3NyAtMS40MjAyOSwtMi42ODI1NSAtMi4xNjgwOSwtNS40MjIzNiAtMi4yNDMyOSwtOC4yMjM1NyAtMC4wNzkyLC0yLjc5OTEzIC0wLjExNjgyLC01Ljk1ODM3IC0wLjExNjgyLC05LjQ4NzU1IFYgNDMwLjY2OCBoIDEzLjgwMjM3IHYgNTMuMTk2NTkgYyAwLDIuNDkyNTYgMC4wMjk3LDQuNjgwNTUgMC4wODY5LDYuNTU3ODYgMC4wNTk2LDEuODc5MzQgMC40NDkxLDMuNDEyNDggMS4xODA5MSw0LjYwMTM4IDEuMzc4OTEsMi4yOTg3MSAzLjU4MjY0LDMuNTg0NDggNi42MTM0MSwzLjg1MzU4IDMuMDI4NTYsMC4yNjUwOCA2LjQ3ODc2LDAuMTEyNzMgMTAuMzUxOTIsLTAuNDYwOTQgdiAxMS42MTYxNSB6IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC0zMi4wMDc5NiwtNDguMzc1MDcpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTA5KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDExMCIKICAgICAgIGQ9Im0gNzQ3LjIyMDAzLDUwMS41MDE5MiAtMjIuNTQyODQsLTYyLjExMjkxIGggMTMuODYxMDggbCAxNS42NDI4Miw0NS4wMzI4MyAxNS41ODQ2LC00NS4wMzI4MyBoIDEzLjkxNjI2IGwgLTIyLjU0MjQ4LDYyLjExMjkxIHoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTI5LjQzNDY5OSwtNDcuMjU2MzU2KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExMSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTIiCiAgICAgICBkPSJtIDc3NS45MDY5Miw1MDQuMDgxNDggYyAtNC40ODg2NSwwIC04LjI4Mjg0LC0wLjg1NDYxIC0xMS4zODg3OSwtMi41NTk4MSAtMy4xMDM3NiwtMS43MDUyIC01LjQ1NTgxLC0zLjk3ODIxIC03LjA0NDMxLC02LjgxNSAtMS41OTI1MywtMi44MzY3NCAtMi4zODc4MiwtNS45NjI0MSAtMi4zODc4MiwtOS4zNzQ4OCAwLC0yLjk5MDk3IDAuNDk2NDYsLTUuNjgzNDEgMS40OTM1MywtOC4wODEwNiAwLjk5OTAyLC0yLjM5NTYzIDIuNTMyMSwtNC40NjQ4NCA0LjYwMzM5LC02LjIxMTYxIDIuMDcxMjksLTEuNzQyODYgNC43NTM2NiwtMy4xNjkxMiA4LjA1MTM5LC00LjI4Mjg5IDIuNDkwNiwtMC44MDUxMiA1LjQxNjM5LC0xLjUzMzA5IDguNzY5NTQsLTIuMTgzOTYgMy4zNTUxLC0wLjY1MDgyIDYuOTk4OSwtMS4yNTYxNyAxMC45Mjc3MywtMS44MTQwMyAzLjkzMjc0LC0wLjU1NTkxIDguMDQxNSwtMS4xNTcyOSAxMi4zMzYzLC0xLjgxMjAxIGwgLTQuOTQ1NjgsMi44MTg5MSBjIDAuMDM3NiwtNC4yOTI3MyAtMC45MTk4LC03LjQ1Nzg5IC0yLjg3NDM5LC05LjQ4OTU3IC0xLjk1NDQ2LC0yLjAzMTY3IC01LjI1MjE5LC0zLjA0ODQ2IC05Ljg5NTAxLC0zLjA0ODQ2IC0yLjc5NzI1LDAgLTUuNDk5NjQsMC42NTI4MyAtOC4xMDg3NywxLjk1NDUzIC0yLjYwNzQyLDEuMzA1NiAtNC40MjczNywzLjU0ODk1IC01LjQ2MTkxLDYuNzMxODcgbCAtMTIuNjUyODQsLTMuOTcwMjcgYyAxLjUzNTE2LC01LjI1MjIgNC40NTQ5NiwtOS40Njc3OCA4Ljc2OTU0LC0xMi42NTI3NyA0LjMxMjYyLC0zLjE4MDk3IDEwLjEzMDQ5LC00Ljc3MzQ0IDE3LjQ1Mzk4LC00Ljc3MzQ0IDUuNTIxMjQsMCAxMC4zODE3MSwwLjkwMDAyIDE0LjU3OTU5LDIuNzAyMjEgNC4xOTc3NSwxLjgwMjE4IDcuMzE1NDIsNC43NTU2MSA5LjM0NTA5LDguODU4NTIgMS4xMTM3NywyLjE4Mzk2IDEuNzg2MzcsNC40MTkzNyAyLjAxMzkxLDYuNzAwMjYgMC4yMjkzNywyLjI4MDk0IDAuMzQ2Miw0Ljc2NTYyIDAuMzQ2Miw3LjQ0NjEgdiAzOC4xMzAzNyBoIC0xMi4xMzY0OCB2IC0xMy40NTc4OCBsIDIuMDExODQsMi4xODc4NiBjIC0yLjc5NzI0LDQuNDg0NjggLTYuMDYzMjMsNy43NzI1OSAtOS44MDIyNCw5Ljg2MTU3IC0zLjc0MDczLDIuMDg4OTMgLTguNDA3NDgsMy4xMzU0NCAtMTQuMDAzNzksMy4xMzU0NCBtIDIuNzU5NTIsLTExLjA0MjQ4IGMgMy4xNDM0NCwwIDUuODI4MDEsLTAuNTU1ODUgOC4wNTEzOSwtMS42Njc2IDIuMjIxNTYsLTEuMTEzODMgMy45OTYyMiwtMi40NzQ3OSA1LjMxOTU4LC00LjA4NTA4IDEuMzIzNDksLTEuNjA4MzQgMi4yMTM2MywtMy4xMjU2MSAyLjY3NDU3LC00LjU0MiAwLjcyNzksLTEuNzY0NTggMS4xMzk0LC0zLjc4NjMxIDEuMjM2NDUsLTYuMDY3MjYgMC4wOTY5LC0yLjI4MDg4IDAuMTQ2MzYsLTQuMTMwNjEgMC4xNDYzNiwtNS41NTA5IGwgNC4yNTMxNywxLjI2NTk5IGMgLTQuMTc4MSwwLjY1MDk0IC03Ljc2NDUyLDEuMjI2NTYgLTEwLjc1MzY2LDEuNzI3MTEgLTIuOTkxMDksMC40OTY1MiAtNS41NjA5MSwwLjk2NTQgLTcuNzA5MjMsMS40MDY1IC0yLjE0NjM2LDAuNDQxMSAtNC4wNDE1LDAuOTI5NzUgLTUuNjkzMjQsMS40Njc4MyAtMS42MDgyNywwLjU3MzY3IC0yLjk3MTQzLDEuMjQ2MjggLTQuMDgzMTMsMi4wMTE4NCAtMS4xMDk4NiwwLjc2NzY0IC0xLjk2MjUyLDEuNjQ5ODQgLTIuNTU5OTMsMi42NDY5MSAtMC41OTUzNCwwLjk5NSAtMC44OTAwMiwyLjE2NDEzIC0wLjg5MDAyLDMuNTA3MzMgMCwxLjUzNTE1IDAuMzgxNzIsMi44ODQyOCAxLjE1MTI1LDQuMDU1NDIgMC43Njc0NSwxLjE2OTEzIDEuODg3MDgsMi4wOTY5MiAzLjM2NDg3LDIuNzg3MzUgMS40NzU4MywwLjY5MjMyIDMuMzA1NzgsMS4wMzY1NiA1LjQ5MTU3LDEuMDM2NTYiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTI1LjUzMzk4NiwtNDcuMzY4Mjc5KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExMykiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTQiCiAgICAgICBkPSJNIDAsMCBIIDEzLjg2MDk2IFYgODQuNTQxNzQ4IEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDgxLjg2NzU4Myw3LjQyMDM1NzYpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTE1KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDExNiIKICAgICAgIGQ9Im0gODI3LjQyNTksNTA0LjA3OTUzIGMgLTUuNzE0OTYsMCAtMTAuNzAwMzEsLTEuNDM4MTcgLTE0Ljk1MzQ5LC00LjMxMjU2IC00LjI1NzA4LC0yLjg3NDMzIC03LjU1NDgxLC02Ljc4NTI4IC05Ljg5MTExLC0xMS43MzA4NCAtMi4zNDAyMSwtNC45NDk2NCAtMy41MTEyMywtMTAuNTI0MjkgLTMuNTExMjMsLTE2LjczNzg1IDAsLTYuMjg2ODcgMS4xNzg5NSwtMTEuODk1MDggMy41MzkwNiwtMTYuODIwOTIgMi4zNTU5NiwtNC45Mjc4IDUuNzAzMTMsLTguODE4OTEgMTAuMDM1NCwtMTEuNjc1NDggNC4zMzI0LC0yLjg1NDY4IDkuNDMyMjUsLTQuMjg0ODUgMTUuMjk3NzMsLTQuMjg0ODUgNS45MDI5NSwwIDEwLjg1ODUyLDEuNDMwMTcgMTQuODY2MzMsNC4yODQ4NSA0LjAwNDAzLDIuODU2NTcgNy4wNDQ2OCw2Ljc1NTYyIDkuMTE1NzMsMTEuNzA1MTQgMi4wNjkyMSw0Ljk0NTYyIDMuMTA1ODMsMTAuNTQxOTkgMy4xMDU4MywxNi43OTEyNiAwLDYuMTc0MDcgLTEuMDM2NjIsMTEuNzQyNzQgLTMuMTA1ODMsMTYuNzA4MTMgLTIuMDcxMDUsNC45NjMzOCAtNS4xNTcxMSw4Ljg4NjIzIC05LjI2MDE0LDExLjc2MDU2IC00LjEwMDgzLDIuODc0MzkgLTkuMTgyODYsNC4zMTI1NiAtMTUuMjM4MjgsNC4zMTI1NiBtIDEuMjA0NzIsMjcuNjA4MTUgYyAtMy40NDgsMCAtNi43NTU1LC0wLjUzODA4IC05LjkxODgzLC0xLjYxMjI0IC0zLjE2MzA4LC0xLjA3MjE0IC02LjAxMTcyLC0yLjYxNTIzIC04LjU0MTg3LC00LjYyOTAzIC0yLjUzMDI3LC0yLjAxMzkxIC00LjYwMTU2LC00LjQzOTE1IC02LjIwOTcxLC03LjI3NTg4IGwgMTIuNzY1MzgsLTYuMzI2NDcgYyAxLjE4ODk2LDIuMjYzMTIgMi44Njg1MywzLjk0MDY3IDUuMDMyNzEsNS4wMzI2NSAyLjE2ODIxLDEuMDkxOTggNC40Nzg2NCwxLjYzOCA2LjkzMTc2LDEuNjM4IDIuODc0MjcsMCA1LjQ0MjE0LC0wLjUwODQyIDcuNzA1MDgsLTEuNTIzMjUgMi4yNjEyMywtMS4wMTQ5IDQuMDE3ODIsLTIuNTEyNDYgNS4yNjIyMSwtNC40ODQ2OSAxLjI0NDI2LC0xLjk3ODI3IDEuODMxNzksLTQuNDM3MTMgMS43NTQ2NCwtNy4zOTA2MiB2IC0xNy42NTU3NiBoIDEuNzI2OTMgViA0NDAuMjQyIGggMTIuMTMyNjkgdiA2NS4xMDE2MyBjIDAsMS41NzQ2NCAtMC4wNjc1LDMuMDgwMTQgLTAuMTk5ODMsNC41MTYyOSAtMC4xMzQ1MiwxLjQzODE4IC0wLjM1NjA4LDIuODQ4NjQgLTAuNjYyODQsNC4yMjc0MiAtMC45MTk4LDQuMDI1NzYgLTIuNjgyMzgsNy4zMzEzNiAtNS4yODk4LDkuOTIwOSAtMi42MDkxMywyLjU4NzUyIC01LjgzNzY1LDQuNTE0MzQgLTkuNjg5MzMsNS43ODA0IC0zLjg1NTU5LDEuMjY0MDkgLTguMTE4NTMsMS44OTkwNCAtMTIuNzk5MTksMS44OTkwNCBtIDAuOTIxODcsLTQwLjAyOTQ4IGMgMy43MTcxNiwwIDYuNzE4MTQsLTAuODUyNTQgOS4wMDMwNSwtMi41NTk4MSAyLjI3Njk4LC0xLjcwNTIgMy45NDY1NCwtNC4wOTA5NCA1LjAwMDg2LC03LjE1OTE4IDEuMDU0NDQsLTMuMDY2MjkgMS41ODI1MiwtNi42MTMyOCAxLjU4MjUyLC0xMC42NDA5MyAwLC00LjA2MzI5IC0wLjUyODA4LC03LjYxODE3IC0xLjU4MjUyLC0xMC42Njg2NCAtMS4wNTQzMiwtMy4wNDY0NSAtMi42OTQzNCwtNS40MjQzMiAtNC45MTU3NywtNy4xMzE0NyAtMi4yMjc1NCwtMS43MDUyNiAtNS4xMDE5MywtMi41NTc4NiAtOC42MjcyLC0yLjU1Nzg2IC0zLjcyMTA3LDAgLTYuNzg5MTksMC45MTE5OCAtOS4yMDI3NiwyLjcyOTk4IC0yLjQxNTQxLDEuODIzOTEgLTQuMTk5NzEsNC4yNzY4NSAtNS4zNDcwNSw3LjM2MjkxIC0xLjE1MTM2LDMuMDg2MDYgLTEuNzI3MDUsNi41MDg0MyAtMS43MjcwNSwxMC4yNjUwOCAwLDMuNzk2MTQgMC41Njc3NSw3LjIzODM0IDEuNjk3MjcsMTAuMzIyMzkgMS4xMjk2NCwzLjA4ODA3IDIuODY2NTgsNS41MzMwOCA1LjIwMjc2LDcuMzMzMzEgMi4zNDAzMywxLjgwNDA4IDUuMzA5NjksMi43MDQyMiA4LjkxNTg5LDIuNzA0MjIiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTE5Ljg5MTg0MiwtNDcuMzY4Mjc5KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExNykiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTgiCiAgICAgICBkPSJNIDAsMCBIIDM2LjU5MDYzMyBWIDEwLjIyNDExMiBIIDAgWiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwxMS45ODA5MjIsMTcuNjkwMTA3KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExOSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMjAiCiAgICAgICBkPSJNIDU0OS40ODQ2Miw0NzcuNTcyMzYgSCA1MTguMDA1IHYgLTEwLjIyMzUxIGggMjYuMzY3NjggViA0NDAuOTgzIGggMTAuMjIzNjMgdiAzMS40Nzc2IGMgMCwyLjgyNDk1IC0yLjI5MDc3LDUuMTExNzYgLTUuMTExNjksNS4xMTE3NiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNTUuOTQ1OTk3LC00Ny4wNTE5NzUpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTIxKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyMiIKICAgICAgIGQ9Ik0gMCwwIEggMTAuMjI0MTEyIFYgNjIuOTYwMTA2IEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDE4Ljg1NTY5NywxMC43NzQ3MTEpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTIzKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyNCIKICAgICAgIGQ9Ik0gMCwwIEggMzYuNTkzNDg3IFYgMTAuMjI0MTEyIEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDguNDgyNTAzMyw3LjMxNjg4NDgpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTI1KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyNiIKICAgICAgIGQ9Ik0gNTE0Ljc0NDM4LDQ3Ny41NzIzNiBIIDUwNC41MTkwMSBWIDQ0Ni4wOTQ3IGMgMCwtMi44MjI4MiAyLjI5MDgzLC01LjExMTcgNS4xMTE3NiwtNS4xMTE3IGggMzEuNDgxNjYgdiAxMC4yMjM1MSBoIC0yNi4zNjgwNSB6IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC01Ny42NzU5MzEsLTQ3LjA1MTk3NSkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMjcpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTI4IgogICAgICAgZD0iTSAwLDAgSCAxMC4yMjQxMTIgViA2Mi45NjAxMDYgSCAwIFoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsNS4wNjUyMTQ4LDcuMzE2ODg0OCkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMjkpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTMwIgogICAgICAgZD0ibSA1NjguNjM4MTIsNTk1LjE1OTMgYyAtNTMuNTU2NTIsMCAtOTcuMTI5MTUsLTQzLjU3MjUxIC05Ny4xMjkxNSwtOTcuMTI5MTUgMCwtNTMuNTU2NyA0My41NzI2MywtOTcuMTI5MTUgOTcuMTI5MTUsLTk3LjEyOTE1IDUzLjU1Njc3LDAgOTcuMTI5MTUsNDMuNTcyNDUgOTcuMTI5MTUsOTcuMTI5MTUgMCw1My41NTY2NCAtNDMuNTcyMzgsOTcuMTI5MTUgLTk3LjEyOTE1LDk3LjEyOTE1IG0gMCwtMTg0LjAzNDc5IGMgLTQ3LjkxODUyLDAgLTg2LjkwMzU2LDM4Ljk4Njk0IC04Ni45MDM1Niw4Ni45MDU2NCAwLDQ3LjkyMjYxIDM4Ljk4NTA0LDg2LjkwNTY0IDg2LjkwMzU2LDg2LjkwNTY0IDQ3LjkxODgzLDAgODYuOTA1NzYsLTM4Ljk4MzAzIDg2LjkwNTc2LC04Ni45MDU2NCAwLC00Ny45MTg3IC0zOC45ODY5MywtODYuOTA1NjQgLTg2LjkwNTc2LC04Ni45MDU2NCIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNjEuOTEwMzYzLC01Mi4xOTM1MDkpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTMxKSIgLz4KICA8L2c+Cjwvc3ZnPgo=",alt:""})}),(0,r.jsx)("div",{className:"hidden sm:-my-px sm:ml-6 sm:flex sm:space-x-8",children:e.map((e=>(0,r.jsx)("button",{type:"button",className:l("border-transparent text-gray-500 hover:text-secondary hover:border-secondary whitespace-nowrap py-4 px-1 border-b-2 font-medium text-sm",e.value===t?"text-primary border-primary":""),onClick:()=>a(e.value),children:e.label},e.value)))})]})})})})})}const I=window.wp.apiFetch;var c=a.n(I);const n=window.wp.i18n;function C({title:e,children:t}){return(0,r.jsxs)("div",{className:"py-10",children:[(0,r.jsx)("header",{children:(0,r.jsx)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:(0,r.jsx)("h1",{className:"text-3xl font-bold tracking-tight text-gray-900",children:e})})}),(0,r.jsx)("main",{children:(0,r.jsx)("div",{className:"mx-auto max-w-7xl px-4 py-8 sm:px-6 lg:px-8",children:t})})]})}function N({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const o=g.forwardRef(N);function d({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M12 3.75a.75.75 0 0 1 .75.75v6.75h6.75a.75.75 0 0 1 0 1.5h-6.75v6.75a.75.75 0 0 1-1.5 0v-6.75H4.5a.75.75 0 0 1 0-1.5h6.75V4.5a.75.75 0 0 1 .75-.75Z",clipRule:"evenodd"}))}const A=g.forwardRef(d);function j({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M12.97 3.97a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 1 1-1.06-1.06l6.22-6.22H3a.75.75 0 0 1 0-1.5h16.19l-6.22-6.22a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"}))}const x=g.forwardRef(j);function u({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const w=g.forwardRef(u);function D({type:e="notice",title:t,children:a,className:g=""}){const i=l("border rounded-md p-2","success"===e?"bg-green-100 border-green-200":"","notice"===e?"bg-yellow-100 border-yellow-200":"","error"===e?"bg-red-100 border-red-200":"",g);return(0,r.jsxs)("div",{className:i,children:[(0,r.jsx)("div",{className:"text-md text-black font-semibold",children:t}),a&&(0,r.jsx)("div",{className:"text-sm text-black",children:a})]})}function m({children:e}){return(0,r.jsx)("div",{className:"w-full mt-2 bg-gray-50 rounded-lg p-5 help-content border border-gray-200 space-y-4",children:(0,r.jsx)("div",{className:"text-sm text-gray-600",children:e})})}function T({field:e,name:t,label:a,value:i=!1,callback:s,required:l=!1,children:M}){const[I,c]=(0,g.useState)(i);return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("label",{className:"inline-flex items-center cursor-pointer",children:[(0,r.jsx)("input",{name:t,type:"checkbox",checked:i,onChange:e=>{c(e.target.checked),s(e)},required:l,className:"sr-only peer"}),(0,r.jsx)("div",{className:"relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 rounded-full peer dark:bg-gray-200 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"}),(0,r.jsx)("span",{className:"ms-3 mr-2 text-sm",children:a})]}),M,e?.stateDescriptions?.enabled&&I&&(0,r.jsx)(m,{children:e?.stateDescriptions?.enabled}),e?.stateDescriptions?.disabled&&!I&&(0,r.jsx)(m,{children:e?.stateDescriptions?.disabled})]})}function L({name:e,label:t,value:a="",placeholder:g="",required:i=!1,callback:s,children:l}){return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,r.jsx)("input",{name:e,type:"password",value:a,onChange:s,onPaste:s,placeholder:g,required:i,className:"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary focus:border-primary sm:text-sm"}),l]})}function p({name:e,label:t,value:a="",placeholder:g="",required:i=!1,callback:s,children:l}){return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,r.jsx)("input",{name:e,type:"text",value:a,onChange:s,onPaste:s,placeholder:g,required:i,className:"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary focus:border-primary sm:text-sm"}),l]})}function y({name:e,label:t,value:a="",placeholder:i="",required:s=!1,callback:l,children:M,...I}){const[c,n]=(0,g.useState)(null!=a?a:0);return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,r.jsx)("input",{name:e,type:"number",value:c,onChange:l,onPaste:e=>{const t=e.clipboardData.getData("text"),a=parseInt(t,10);!isNaN(a)&&a>=0&&n(a),l(e)},placeholder:i,required:s,min:"0",className:"hidden"}),(0,r.jsxs)("div",{className:"inline-flex items-center gap-4",children:[(0,r.jsx)("button",{onClick:()=>{c>0&&n(c-1)},className:"px-2 py-1 font-mono text-lg text-gray-700 border border-gray-200 rounded-md hover:bg-gray-100",children:"-"}),(0,r.jsx)("span",{className:"text-lg font-mono font-semibold",children:c}),(0,r.jsx)("button",{onClick:()=>{n(c+1)},className:"px-2 py-1 font-mono text-lg text-gray-700 border border-gray-200 rounded-md hover:bg-gray-100",children:"+"})]})]}),M]})}function h({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z",clipRule:"evenodd"}))}const z=g.forwardRef(h);function b({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"}))}const v=g.forwardRef(b);function k({includeOptional:e=!1,provider:t,fields:a,callback:i}){const[s,l]=(0,g.useState)({}),[M,I]=(0,g.useState)({}),[c,C]=(0,g.useState)(null),N=e=>{if("paste"===e.type){const a={target:{name:e.target.name,value:e.clipboardData.getData("text"),type:e.target.type}},g={...s};return"checkbox"===a.target.type?g[a.target.name]=a.target.checked:g[a.target.name]=a.target.value,l(g),i(t,g),C(a.target.name),void setTimeout((()=>{C(null)}),100)}if(c===e.target.name)return;const a={...s};"checkbox"===e.target.type?a[e.target.name]=e.target.checked:a[e.target.name]=e.target.value,l(a),i(t,a)};(0,g.useEffect)((()=>{a.forEach((e=>{e?.value&&l({...s,[e.name]:e.value})}))}),[]);const o=e=>{switch(e.type){case"boolean":return(0,r.jsx)(T,{name:e.name,label:e.label,value:s?.[e.name],callback:N,required:e.required,field:e,children:(0,r.jsx)(r.Fragment,{children:e?.description&&(0,r.jsx)(m,{children:e?.description})})});case"password":return(0,r.jsx)(L,{name:e.name,label:e.label,value:s?.[e.name],placeholder:e.placeholder,callback:N,required:e.required,field:e,children:(0,r.jsx)(r.Fragment,{children:e?.description&&(0,r.jsx)(m,{children:e?.description})})});case"number":return(0,r.jsx)(y,{name:e.name,label:e.label,value:s?.[e.name],placeholder:e.placeholder,callback:N,required:e.required,field:e,children:(0,r.jsx)(r.Fragment,{children:e?.description&&(0,r.jsx)(m,{children:e?.description})})});default:return(0,r.jsx)(p,{name:e.name,label:e.label,value:s?.[e.name],placeholder:e.placeholder,callback:N,required:e.required,field:e,children:(0,r.jsx)(r.Fragment,{children:e?.description&&(0,r.jsx)(m,{children:e?.description})})})}};return(0,r.jsx)(r.Fragment,{children:a.flatMap(((t,a)=>t?.optional&&!e?[]:(0,r.jsxs)("div",{children:[o(t),t?.help&&(0,r.jsxs)("div",{className:"mt-2",children:[(0,r.jsxs)("button",{type:"button",className:"text-sm text-custom hover:text-custom-dark flex items-center cursor-pointer help-toggle",onClick:()=>{return e=t.name,void I((t=>({...t,[e]:!t[e]})));var e},children:[(0,r.jsx)(v,{className:"w-5 h-5 mr-1"}),(0,r.jsx)("span",{children:t?.help?.label||(0,n.__)("Help","fraktvalg")})]}),M[t.name]&&(0,r.jsxs)(m,{children:[(0,r.jsx)("p",{children:t?.help?.text}),t?.help?.url?.link&&(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsxs)("a",{href:t?.help?.url?.link,target:"_blank",className:"inline-flex items-center text-custom hover:text-custom-dark font-medium",children:[(0,r.jsx)("span",{children:t?.help?.url?.label}),(0,r.jsx)(z,{className:"ml-1 w-4 h-4"})]})})]})]})]},a)))})}function f({disabled:e=!1,plain:t=!1,className:a,children:g,onClick:i=()=>{},...s}){const M=l("block w-full bg-primary text-white rounded-md p-3","hover:bg-primary/90 hover:text-white","active:bg-primary/90 active:text-white","focus:bg-primary/90 focus:text-white","disabled:bg-black/80",a);return s.href?(0,r.jsx)("a",{className:M,...s,children:g}):(0,r.jsx)("button",{onClick:i,disabled:e,className:M,...s,children:g})}function O({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M11.47 7.72a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06L12 9.31l-6.97 6.97a.75.75 0 0 1-1.06-1.06l7.5-7.5Z",clipRule:"evenodd"}))}const E=g.forwardRef(O);function S({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z",clipRule:"evenodd"}))}const Y=g.forwardRef(S);function U({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"}))}const Q=g.forwardRef(U);function G({logo:e=null,...t}){const{alt:a=""}=t;return e?e.startsWith("http")||e.startsWith("data:image")?(0,r.jsx)("img",{src:e,alt:a,...t}):(e.startsWith("https")||(e=encodeURIComponent(e)),(0,r.jsx)("img",{src:"data:image/svg+xml;utf8,"+e,alt:a,...t})):(0,r.jsx)(Q,{...t})}function B({supplierId:e,supplier:t,title:a,content:i,isConnected:s=!1,visible:M=!0,classNames:I="",innerClassNames:c=""}){const[C,N]=(0,g.useState)(M),o=l("border bg-white rounded-md",I),d=l("border-t-2 border-gray-100 p-4",c);return(0,r.jsxs)("div",{className:o,children:[(0,r.jsx)("button",{className:"flex w-full p-4 items-center justify-between",onClick:()=>N(!C),children:(0,r.jsx)("h2",{className:"text-lg font-bold w-full",children:(0,r.jsxs)("div",{className:"flex item-center justify-between focus:outline-none w-full",children:[(0,r.jsxs)("div",{className:"flex",children:[t?.logo&&(0,r.jsx)("div",{children:(0,r.jsx)(G,{logo:t?.logo,alt:a,className:"w-8 h-8 mr-2"})}),(0,r.jsx)("div",{className:"inline-flex items-center gap-4",children:(0,r.jsx)("span",{children:a})})]}),(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[s&&(0,r.jsx)("div",{className:"px-3 py-1 text-sm rounded-full bg-green-100 text-green-600",children:(0,n.__)("Connected","fraktvalg")}),!s&&(0,r.jsx)("div",{className:"px-3 py-1 text-sm rounded-full bg-red-100 text-red-600",children:(0,n.__)("Disconnected","fraktvalg")}),C?(0,r.jsx)(E,{className:"h-6 w-6 text-gray-600"}):(0,r.jsx)(Y,{className:"h-6 w-6 text-gray-600"})]})]})})}),C&&(0,r.jsx)("div",{className:d,children:i})]})}function Z({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{d:"M6.5 2.25a.75.75 0 0 0-1.5 0v3a.75.75 0 0 0 1.5 0V4.5h6.75a.75.75 0 0 0 0-1.5H6.5v-.75ZM11 6.5a.75.75 0 0 0-1.5 0v3a.75.75 0 0 0 1.5 0v-.75h2.25a.75.75 0 0 0 0-1.5H11V6.5ZM5.75 10a.75.75 0 0 1 .75.75v.75h6.75a.75.75 0 0 1 0 1.5H6.5v.75a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 .75-.75ZM2.75 7.25H8.5v1.5H2.75a.75.75 0 0 1 0-1.5ZM4 3H2.75a.75.75 0 0 0 0 1.5H4V3ZM2.75 11.5H4V13H2.75a.75.75 0 0 1 0-1.5Z"}))}const X=g.forwardRef(Z);function R({setProvider:e,setTab:t}){const[a,i]=(0,g.useState)({}),[s,l]=(0,g.useState)({}),[M,I]=(0,g.useState)(null),[N,d]=(0,g.useState)(""),[j,u]=(0,g.useState)(!0),[m,T]=(0,g.useState)(null),[L,p]=(0,g.useState)(10),[y,h]=(0,g.useState)("percent"),[z,b]=(0,g.useState)(""),[v,O]=(0,g.useState)({}),E=(e,t)=>{O({...v,[e]:t})},S=()=>{I(null),d(""),c()({path:"fraktvalg/v1/settings/providers/mine",method:"GET"}).then((e=>{l(e?.mine?.data||{}),i(e?.available?.data||{}),e?.available?.data&&Object.keys(e?.available?.data).map((t=>{O({...v,[t]:e?.available?.data[t]?.fields})})),e?.mine?.data&&e?.mine?.data?.forEach((e=>{if(a[e?.id]){let t={...a};delete t[e?.id],i(t)}O({...v,[e?.id]:e?.fields})}))})).catch((e=>{d("fetching providers"),I(e?.message)})).then((()=>{u(!1)}))},Y=()=>{c()({path:"fraktvalg/v1/settings/providers/priority",method:"GET"}).then((e=>{T(e?.data?.providerId),p(e?.data?.discount),h(e?.data?.discountType)}))},U=e=>{b(e),I(null),d(""),c()({path:"fraktvalg/v1/settings/providers/store",method:"POST",data:{providerId:e,fieldValues:v[e]}}).then((e=>{b(""),S()})).catch((e=>{b(""),d("saving provider settings"),I(e?.message||(0,n.__)("Failed to save provider settings","fraktvalg"))}))};return(0,g.useEffect)((()=>{S(),Y()}),[]),j?(0,r.jsx)(C,{title:"My providers",children:(0,r.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,r.jsx)(o,{className:"h-8 w-8 animate-spin text-primary"}),(0,r.jsx)("div",{className:"text-lg",children:(0,n.__)("Fetching available providers...","fraktvalg")})]})}):(0,r.jsx)(C,{title:"My providers",children:(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3",children:[M&&(0,r.jsx)(D,{type:"error",title:`Error ${N||"fetching providers"}`,children:M}),Object.keys(s).map((a=>(0,r.jsx)(B,{isConnected:!0,title:s[a]?.name,supplierId:a,supplier:s[a],content:(0,r.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[z===a&&(0,r.jsxs)("div",{className:"absolute w-full h-full top-0 left-0 bg-white flex flex-col justify-center items-center gap-2",children:[(0,r.jsx)(o,{className:"h-6 w-6 animate-spin text-primary"}),(0,r.jsx)("span",{children:(0,n.__)("Saving provider settings, one moment please...","fraktvalg")})]}),(0,r.jsx)(k,{includeOptional:!0,provider:a,fields:s[a]?.fields||[],callback:E}),(0,r.jsxs)("div",{className:"flex flex-col md:flex-row justify-between gap-2",children:[(0,r.jsx)("div",{className:"flex flex-col md:flex-row justify-start gap-2",children:(0,r.jsxs)(f,{type:"button",className:"md:inline-block md:w-fit",onClick:()=>{e(s[a]),t("shipping-methods")},children:[(0,r.jsx)(X,{className:"w-4 h-4 mr-2 inline-block"}),(0,n.__)("Configure shipping methods","fraktvalg")]})}),(0,r.jsxs)("div",{className:"flex flex-col md:flex-row justify-end gap-2",children:[(0,r.jsx)(f,{className:"md:inline-block md:w-fit bg-red-600 hover:bg-red-500 active:bg-red-500 focus:bg-red-500",type:"button",onClick:()=>{return e=s[a],void(confirm((0,n.__)("Are you sure you want to disconnect this provider?","fraktvalg"))&&(b(e?.id),I(null),d(""),c()({path:"fraktvalg/v1/settings/providers/disconnect",method:"POST",data:{provider:e?.id}}).then((e=>{b(""),S()})).catch((e=>{b(""),d("disconnecting provider"),I(e?.message||(0,n.__)("Failed to disconnect provider","fraktvalg"))}))));var e},children:(0,n.__)("Disconnect provider","fraktvalg")}),(0,r.jsx)(f,{className:"md:inline-block md:w-fit",type:"button",onClick:()=>U(s[a]),children:(0,n.__)("Update provider settings","fraktvalg")})]})]})]})},a))),(0,r.jsx)("hr",{className:"border-gray-200 my-2"}),Object.keys(a).map((e=>(0,r.jsx)(B,{title:a[e]?.name,supplierId:e,supplier:a[e],visible:!1,content:(0,r.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[z===e&&(0,r.jsxs)("div",{className:"absolute w-full h-full top-0 left-0 bg-white flex flex-col justify-center items-center gap-2",children:[(0,r.jsx)(o,{className:"h-6 w-6 animate-spin text-primary"}),(0,r.jsx)("span",{children:(0,n.__)("Connecting provider, one moment please...","fraktvalg")})]}),(0,r.jsx)(k,{provider:e,fields:a[e]?.fields||[],callback:E}),(0,r.jsx)(f,{type:"button",onClick:()=>U(e),children:(0,n.__)("Connect to this provider","fraktvalg")})]})},e))),(0,r.jsx)("div",{className:"bg-white rounded-lg shadow p-6 border-2 border-dashed border-gray-300",children:(0,r.jsxs)("div",{className:"flex flex-col items-center text-center",children:[(0,r.jsx)("div",{className:"w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center mb-4",children:(0,r.jsx)(A,{className:"w-8 h-8 text-primary"})}),(0,r.jsx)("h2",{className:"text-xl font-semibold text-gray-900 mb-2",children:(0,n.__)("More providers are coming 🥳","fraktvalg")}),(0,r.jsx)("p",{className:"text-gray-600 mb-4",children:(0,n.__)("We are continually working to integrate more shipping providers to you you more opportunities.","fraktvalg")}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("p",{className:"text-sm text-gray-600",children:(0,n.__)("Is there someone you would like to see here?","fraktvalg")}),(0,r.jsxs)("a",{href:"mailto:[email protected]",className:"inline-flex items-center text-custom hover:text-custom-dark font-medium",children:[(0,r.jsx)("span",{children:(0,n.__)("Send us an e-mail","fraktvalg")}),(0,r.jsx)(x,{className:"ml-1 w-4 h-4"})]})]})]})}),Object.keys(s).length>1&&(0,r.jsxs)("div",{className:"bg-white rounded-lg shadow p-6",children:[(0,r.jsx)("h2",{className:"text-xl font-semibold text-gray-900 mb-2",children:(0,n.__)("Preferred provider","fraktvalg")}),(0,r.jsx)("p",{className:"text-gray-600 mb-4",children:(0,n.__)("Choose which provider should always be the cheapest option in your store. This gives you the opportunity to prioritize one provider by making their prices more competitive.","fraktvalg")}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4",children:[(0,r.jsx)("p",{children:(0,n.__)("Price reduction for your preferred provider","fraktvalg")}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("input",{value:L,onChange:e=>p(e.target.value),type:"number",min:"0",step:"1",placeholder:"10",className:"w-16 border border-gray-300 rounded-md p-2"}),(0,r.jsxs)("select",{className:"border border-gray-300 rounded-md p-2",value:y,onChange:e=>h(e.target.value),children:[(0,r.jsx)("option",{value:"percent",children:"%"}),(0,r.jsx)("option",{value:"fixed",children:"NOK"})]}),(0,r.jsx)("label",{htmlFor:"something",children:(0,n.__)("Determine how much cheaper your preferred provider should be compared to the cheapest competitor.","fraktvalg")})]}),(0,r.jsx)("div",{className:"flex gap-4",children:Object.keys(s).map((e=>(0,r.jsxs)("label",{className:"relative cursor-pointer grow flex flex-col gap-2 items-center border-2 border-gray-300 rounded-lg p-4 hover:border-primary peer-checked:border-primary transition-all duration-200",children:[(0,r.jsx)("input",{type:"radio",name:"preferred_provider",value:e,className:"sr-only peer",defaultChecked:m===e,onChange:()=>T(m===e?null:e)}),s[e]?.logo&&(0,r.jsx)(G,{logo:s[e]?.logo,className:"w-8 h-8"}),(0,r.jsx)("span",{className:"text-lg font-medium text-gray-900",children:s[e]?.name}),(0,r.jsx)("div",{className:"absolute top-2 right-2 hidden peer-checked:block",children:(0,r.jsx)(w,{className:"w-6 h-6 text-primary"})}),(0,r.jsx)("p",{className:"text-sm text-gray-5400 text-center",children:s[e]?.description}),(0,r.jsx)("p",{className:"text-xs text-primary font-medium peer-checked:block hidden",children:(0,n.__)("Currently chosen as your preferred provider","fraktvalg")})]},e)))}),(0,r.jsx)(f,{type:"button",onClick:()=>{I(null),d(""),c()({path:"fraktvalg/v1/settings/providers/priority/store",method:"POST",data:{priorityProvider:{providerId:m,discount:L,discountType:y}}}).then((e=>{Y()})).catch((e=>{d("saving priority provider settings"),I(e?.message||(0,n.__)("Failed to save priority provider settings","fraktvalg"))}))},children:(0,n.__)("Save preferred provider preferences","fraktvalg")})]})]})]})})}function F({title:e,children:t,open:a=!1}){const[i,s]=(0,g.useState)(a||!1);return(0,r.jsxs)("div",{className:"border bg-white rounded-md",children:[(0,r.jsxs)("button",{className:"w-full flex p-4 justify-between",onClick:()=>s(!i),children:[(0,r.jsx)("h2",{className:"text-lg text-left font-bold w-full",children:e}),(0,r.jsx)("div",{className:"relative inline-block",children:i?(0,r.jsx)(E,{className:"h-6 w-6 text-primary"}):(0,r.jsx)(Y,{className:"h-6 w-6 text-primary"})})]}),i&&(0,r.jsx)("div",{className:"p-4",children:t})]})}function P({}){const[e,t]=(0,g.useState)(null),[a,i]=(0,g.useState)({freight:{addedCost:0,addedCostType:"fixed",custom:{name:(0,n.__)("Shipping & handling","fraktvalg"),price:100,type:"fixed"}},useProduction:!0,names:[]}),[s,l]=(0,g.useState)(!0),M=e=>{switch(e.target.name){case"freight[addedCost]":i({...a,freight:{...a.freight,addedCost:e.target.value}});break;case"freight[addedCostType]":i({...a,freight:{...a.freight,addedCostType:e.target.value}});break;case"freight[custom][name]":i({...a,freight:{...a.freight,custom:{...a.freight.custom,name:e.target.value}}});break;case"freight[custom][price]":i({...a,freight:{...a.freight,custom:{...a.freight.custom,price:e.target.value}}});break;case"freight[custom][type]":i({...a,freight:{...a.freight,custom:{...a.freight.custom,type:e.target.value}}});break;case"useProduction":i({...a,useProduction:e.target.checked});break;default:i({...a,[e.target.name]:e.target.value})}};return(0,g.useEffect)((()=>{t(null),l(!0),c()({path:"/fraktvalg/v1/settings/optional-settings",method:"GET"}).then((e=>{i(e?.data||a),l(!1)})).catch((e=>{t({type:"error",title:(0,n.__)("Error fetching optional settings","fraktvalg"),message:e?.message}),l(!1)}))}),[]),s?(0,r.jsx)(C,{title:"My providers",children:(0,r.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,r.jsx)(o,{className:"h-8 w-8 animate-spin text-primary"}),(0,r.jsx)("div",{className:"text-lg",children:"Fetching optional settings..."})]})}):(0,r.jsx)(C,{title:"Optional settings",children:(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3",children:[(0,r.jsxs)(F,{title:(0,n.__)("Backup shipping option","fraktvalg"),open:!0,children:[(0,r.jsx)("p",{children:(0,n.__)("If Fraktvalg should ever become unavailable, or no shiopping options are returned, returns this shipping alternative by default.","fraktvalg")}),(0,r.jsxs)("div",{className:"mt-2 grid grid-cols-1 gap-4",children:[(0,r.jsx)(p,{label:(0,n.__)("Shipping option name","fraktvalg"),name:"freight[custom][name]",value:a.freight.custom.name,callback:M}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("input",{name:"freight[custom][price]",value:a.freight.custom.price,onChange:M,type:"number",min:"0",step:"1",placeholder:"25",className:"w-16 border border-gray-300 rounded-md p-2"}),(0,r.jsxs)("select",{name:"freight[custom][type]",className:"border border-gray-300 rounded-md p-2",value:a.freight.custom.type,onChange:M,children:[(0,r.jsx)("option",{value:"percent",children:"%"}),(0,r.jsx)("option",{value:"fixed",children:"NOK"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"something",children:(0,n.__)("Backup shipping cost","fraktvalg")}),(0,r.jsx)("p",{className:"text-xs italic",children:(0,n.__)("The backup shipping cost can be set to either a fixed value, or a percentage of the order total.","fraktvalg")})]})]})]})]}),(0,r.jsxs)(F,{title:(0,n.__)("Shipping cost adjustments","fraktvalg"),open:!0,children:[(0,n.__)("Safeguard your shipping costs with these optional alternatives.","fraktvalg"),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("input",{name:"freight[addedCost]",value:a.freight.addedCost,onChange:M,type:"number",min:"0",step:"1",placeholder:"10",className:"w-16 border border-gray-300 rounded-md p-2"}),(0,r.jsxs)("select",{name:"freight[addedCostType]",className:"border border-gray-300 rounded-md p-2",value:a.freight.addedCostType,onChange:M,children:[(0,r.jsx)("option",{value:"percent",children:"%"}),(0,r.jsx)("option",{value:"fixed",children:"NOK"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"something",children:(0,n.__)("Add an optional surcharge to all shipping options","fraktvalg")}),(0,r.jsx)("p",{className:"text-xs italic",children:(0,n.__)("Additional shipping surcharges are meant to cover administrative- and handling costs, and is automatically added to all shipping alternatives.","fraktvalg")})]})]})]}),(0,r.jsxs)(F,{title:(0,n.__)("Shop environment","fraktvalg"),open:!0,children:[(0,r.jsx)("p",{children:(0,n.__)("Some times, you wish to use the shipping providers test environments, for example on a staging site. Doing so will not create legitimate shipping requests, and prevents yo ufrom incurring charges while testing your store setup.","fraktvalg")}),(0,r.jsx)("div",{className:"mt-2 grid grid-cols-1 gap-4",children:(0,r.jsx)(T,{label:(0,n.__)("Use production environments","fraktvalg"),name:"useProduction",value:a.useProduction,callback:M})})]}),e&&(0,r.jsx)(D,{type:e.type,title:e.title,children:e.message}),(0,r.jsx)(f,{type:"button",onClick:()=>{t(null),c()({path:"/fraktvalg/v1/settings/optional-settings",method:"POST",data:{options:a}}).then((e=>{t({type:e?.type,title:e?.title,message:e?.message})})).catch((e=>{t({type:"error",title:(0,n.__)("Error saving optional settings","fraktvalg"),message:e?.message})}))},children:(0,n.__)("Save optional settings","fraktvalg")})]})})}function _({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M19.449 8.448 16.388 11a4.52 4.52 0 0 1 0 2.002l3.061 2.55a8.275 8.275 0 0 0 0-7.103ZM15.552 19.45 13 16.388a4.52 4.52 0 0 1-2.002 0l-2.55 3.061a8.275 8.275 0 0 0 7.103 0ZM4.55 15.552 7.612 13a4.52 4.52 0 0 1 0-2.002L4.551 8.45a8.275 8.275 0 0 0 0 7.103ZM8.448 4.55 11 7.612a4.52 4.52 0 0 1 2.002 0l2.55-3.061a8.275 8.275 0 0 0-7.103 0Zm8.657-.86a9.776 9.776 0 0 1 1.79 1.415 9.776 9.776 0 0 1 1.414 1.788 9.764 9.764 0 0 1 0 10.211 9.777 9.777 0 0 1-1.415 1.79 9.777 9.777 0 0 1-1.788 1.414 9.764 9.764 0 0 1-10.212 0 9.776 9.776 0 0 1-1.788-1.415 9.776 9.776 0 0 1-1.415-1.788 9.764 9.764 0 0 1 0-10.212 9.774 9.774 0 0 1 1.415-1.788A9.774 9.774 0 0 1 6.894 3.69a9.764 9.764 0 0 1 10.211 0ZM14.121 9.88a2.985 2.985 0 0 0-1.11-.704 3.015 3.015 0 0 0-2.022 0 2.985 2.985 0 0 0-1.11.704c-.326.325-.56.705-.704 1.11a3.015 3.015 0 0 0 0 2.022c.144.405.378.785.704 1.11.325.326.705.56 1.11.704.652.233 1.37.233 2.022 0a2.985 2.985 0 0 0 1.11-.704c.326-.325.56-.705.704-1.11a3.016 3.016 0 0 0 0-2.022 2.985 2.985 0 0 0-.704-1.11Z",clipRule:"evenodd"}))}const W=g.forwardRef(_);function J({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{d:"M4.913 2.658c2.075-.27 4.19-.408 6.337-.408 2.147 0 4.262.139 6.337.408 1.922.25 3.291 1.861 3.405 3.727a4.403 4.403 0 0 0-1.032-.211 50.89 50.89 0 0 0-8.42 0c-2.358.196-4.04 2.19-4.04 4.434v4.286a4.47 4.47 0 0 0 2.433 3.984L7.28 21.53A.75.75 0 0 1 6 21v-4.03a48.527 48.527 0 0 1-1.087-.128C2.905 16.58 1.5 14.833 1.5 12.862V6.638c0-1.97 1.405-3.718 3.413-3.979Z"}),g.createElement("path",{d:"M15.75 7.5c-1.376 0-2.739.057-4.086.169C10.124 7.797 9 9.103 9 10.609v4.285c0 1.507 1.128 2.814 2.67 2.94 1.243.102 2.5.157 3.768.165l2.782 2.781a.75.75 0 0 0 1.28-.53v-2.39l.33-.026c1.542-.125 2.67-1.433 2.67-2.94v-4.286c0-1.505-1.125-2.811-2.664-2.94A49.392 49.392 0 0 0 15.75 7.5Z"}))}const K=g.forwardRef(J);function H({}){return(0,r.jsx)(C,{title:"Support",children:(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-5",children:[(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 bg-tertiary/10 p-5 rounded-md",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:(0,n.__)("Fraktvalg support","fraktvalg")}),(0,r.jsx)("p",{className:"text-sm",children:(0,n.__)("For help with the Fraktvalg API, your subscription, or other questions, please contact us directly.","fraktvalg")}),(0,r.jsx)("div",{className:"justify-end align-bottom",children:(0,r.jsxs)(f,{href:"mailto:[email protected]",className:"inline-flex items-center gap-3",children:[(0,r.jsx)(W,{className:"w-4 h-4 inline-block"}),(0,n.__)("Contact Fraktvalg support","fraktvalg")]})})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 bg-tertiary/10 p-5 rounded-md",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:(0,n.__)("Community support","fraktvalg")}),(0,r.jsx)("p",{className:"text-sm",children:(0,n.__)("If you are having trouble with WordPress, or using the plugin, please use the community support forums at WordPress.org.","fraktvalg")}),(0,r.jsx)("div",{className:"justify-end align-bottom",children:(0,r.jsxs)(f,{href:"https://wordpress.org/support/plugin/fraktvalg/",className:"inline-flex items-center gap-3",children:[(0,r.jsx)(K,{className:"w-4 h-4 inline-block"}),(0,n.__)("Visit the WordPress.org support forums","fraktvalg"),(0,r.jsx)("span",{className:"sr-only",children:(0,n.__)("External link, opens in a new tab","frakt")})]})})]})]})})}function V({title:e,titleId:t,...a},i){return g.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":t},a),e?g.createElement("title",{id:t},e):null,g.createElement("path",{fillRule:"evenodd",d:"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z",clipRule:"evenodd"}))}const q=g.forwardRef(V);function $({supplier:e,setTab:t}){const[a,i]=(0,g.useState)(!1),[s,l]=(0,g.useState)([]);return(0,g.useEffect)((()=>{i(!0),c()({path:"fraktvalg/v1/settings/providers/methods",method:"POST",data:{shipper_id:e.id}}).then((e=>{l(e),i(!1)}))}),[]),(0,r.jsxs)(C,{title:(0,r.jsxs)("div",{className:"flex justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e?.logo&&(0,r.jsx)("div",{children:(0,r.jsx)(G,{logo:e?.logo,alt:e?.name,className:"w-8 h-8 mr-2"})}),(0,r.jsx)("div",{className:"inline-flex items-center gap-4",children:(0,r.jsx)("span",{children:e?.name})})]}),(0,r.jsx)("div",{children:(0,r.jsxs)(f,{type:"button",onClick:()=>t("providers"),className:"text-sm",children:[(0,r.jsx)(q,{className:"h-4 w-4 mr-2 inline-block"}),(0,n.__)("Back to providers","fraktvalg")]})})]}),children:[a&&(0,r.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,r.jsx)(o,{className:"h-8 w-8 animate-spin text-primary"}),(0,r.jsx)("div",{className:"text-lg",children:(0,n.__)("Loading shipping methods...","fraktvalg")})]}),!a&&0===s.length&&(0,r.jsx)(D,{children:(0,n.__)("This provider does not offer any shipping methods that can be modified.","fraktvalg")}),!a&&s.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("table",{className:"min-w-full divide-y divide-gray-200",children:[(0,r.jsx)("thead",{className:"bg-gray-50",children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:(0,n.__)("Active","fraktvalg")}),(0,r.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:(0,n.__)("Name","fraktvalg")}),(0,r.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:(0,n.__)("Price","fraktvalg")})]})}),(0,r.jsx)("tbody",{className:"bg-white divide-y divide-gray-200",children:s.map(((e,t)=>(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:e.active,onChange:()=>{const e=[...s];e[t].active=!e[t].active,l(e)}}),(0,r.jsx)("span",{className:"ml",children:(0,n.__)("Active","fraktvalg")})]})}),(0,r.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900",children:(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("small",{className:"text-gray-500",children:e.originalName}),(0,r.jsx)("input",{type:"text",value:e.name,onChange:e=>{const a=[...s];a[t].name=e.target.value,l(a)},className:"border border-gray-300 rounded-md p-2"})]})}),(0,r.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-right text-gray-500",children:(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{className:"mr-2",children:(0,n.__)("Set a fixed price for this shipping method","fraktvalg")}),(0,r.jsx)("input",{type:"checkbox",checked:e.canEditPrice,onChange:()=>{const e=[...s];e[t].canEditPrice=!e[t].canEditPrice,l(e)}})]}),(0,r.jsx)("input",{type:"number",value:e.price||"",disabled:!e.canEditPrice,onChange:e=>{const a=[...s];a[t].price=e.target.value,l(a)},className:"border border-gray-300 rounded-md p-2"})]})})]},e.id)))})]}),(0,r.jsx)("div",{className:"flex flex-col md:flex-row justify-end gap-2 mt-4",children:(0,r.jsx)(f,{type:"button",onClick:()=>{c()({path:"fraktvalg/v1/settings/providers/methods/store",method:"POST",data:{shipper_id:e.id,fields:s}}).then((e=>{console.log(e)}))},className:"md:inline-block md:w-fit",children:(0,n.__)("Save shipping overrides","fraktvalg")})})]})]})}function ee({}){const[e,t]=(0,g.useState)("providers"),[a,i]=(0,g.useState)(null);return(0,r.jsxs)("div",{className:"min-h-full",children:[(0,r.jsx)(M,{tabs:[{label:"My providers",value:"providers"},{label:"Optional settings",value:"settings"},{label:"Support",value:"support"}],activeTab:e,setTab:t}),"providers"===e&&(0,r.jsx)(R,{setProvider:i,setTab:t}),"shipping-methods"===e&&(0,r.jsx)($,{supplier:a,setTab:t}),"settings"===e&&(0,r.jsx)(P,{}),"support"===e&&(0,r.jsx)(H,{})]})}const te=document.getElementById("fraktvalg-settings");te&&(0,i.H)(te).render((0,r.jsx)(ee,{}))})(); -
fraktvalg/trunk/build/label-rtl.css
r3260012 r3267354 563 563 margin-bottom: 1rem; 564 564 } 565 .mb-6 { 566 margin-bottom: 1.5rem; 567 } 565 568 .ml-1 { 566 569 margin-right: 0.25rem; 567 570 } 571 .ml-2 { 572 margin-right: 0.5rem; 573 } 568 574 .mr-1 { 569 575 margin-left: 0.25rem; … … 602 608 display: inline-block; 603 609 } 610 .inline { 611 display: inline; 612 } 604 613 .flex { 605 614 display: flex; … … 704 713 max-width: 100%; 705 714 } 715 .flex-1 { 716 flex: 1 1 0%; 717 } 706 718 .shrink-0 { 707 719 flex-shrink: 0; … … 718 730 .animate-spin { 719 731 animation: spin 1s linear infinite; 732 } 733 .cursor-not-allowed { 734 cursor: not-allowed; 720 735 } 721 736 .cursor-pointer { … … 858 873 border-color: rgb(254 202 202 / var(--tw-border-opacity)); 859 874 } 875 .border-red-400 { 876 --tw-border-opacity: 1; 877 border-color: rgb(248 113 113 / var(--tw-border-opacity)); 878 } 860 879 .border-transparent { 861 880 border-color: transparent; … … 1065 1084 color: rgb(17 24 39 / var(--tw-text-opacity)); 1066 1085 } 1086 .text-green-500 { 1087 --tw-text-opacity: 1; 1088 color: rgb(34 197 94 / var(--tw-text-opacity)); 1089 } 1067 1090 .text-green-600 { 1068 1091 --tw-text-opacity: 1; … … 1084 1107 color: rgb(220 38 38 / var(--tw-text-opacity)); 1085 1108 } 1086 .text- tertiary{1087 --tw-text-opacity: 1; 1088 color: rgb(1 01 199 164/ var(--tw-text-opacity));1109 .text-red-700 { 1110 --tw-text-opacity: 1; 1111 color: rgb(185 28 28 / var(--tw-text-opacity)); 1089 1112 } 1090 1113 .text-white { 1091 1114 --tw-text-opacity: 1; 1092 1115 color: rgb(255 255 255 / var(--tw-text-opacity)); 1116 } 1117 .opacity-50 { 1118 opacity: 0.5; 1093 1119 } 1094 1120 .shadow { … … 1102 1128 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1103 1129 } 1130 .shadow-md { 1131 --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); 1132 --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 1133 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1134 } 1104 1135 .shadow-sm { 1105 1136 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); … … 1109 1140 .transition-all { 1110 1141 transition-property: all; 1142 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1143 transition-duration: 150ms; 1144 } 1145 .transition-colors { 1146 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; 1111 1147 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1112 1148 transition-duration: 150ms; … … 1178 1214 background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 1179 1215 } 1216 .hover\:bg-gray-50:hover { 1217 --tw-bg-opacity: 1; 1218 background-color: rgb(249 250 251 / var(--tw-bg-opacity)); 1219 } 1180 1220 .hover\:bg-green-700:hover { 1181 1221 --tw-bg-opacity: 1; … … 1248 1288 color: rgb(255 255 255 / var(--tw-text-opacity)); 1249 1289 } 1290 .disabled\:cursor-not-allowed:disabled { 1291 cursor: not-allowed; 1292 } 1250 1293 .disabled\:bg-black\/80:disabled { 1251 1294 background-color: rgb(0 0 0 / 0.8); 1295 } 1296 .disabled\:opacity-50:disabled { 1297 opacity: 0.5; 1252 1298 } 1253 1299 .peer:checked ~ .peer-checked\:block { … … 1296 1342 } 1297 1343 1344 .sm\:inline { 1345 display: inline; 1346 } 1347 1298 1348 .sm\:flex { 1299 1349 display: flex; -
fraktvalg/trunk/build/label.asset.php
r3260012 r3267354 1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-i18n'), 'version' => ' cf9f2f3816a05082dce8');1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-i18n'), 'version' => '3a54e5c16bf4c3e5e68c'); -
fraktvalg/trunk/build/label.css
r3260012 r3267354 563 563 margin-bottom: 1rem; 564 564 } 565 .mb-6 { 566 margin-bottom: 1.5rem; 567 } 565 568 .ml-1 { 566 569 margin-left: 0.25rem; 567 570 } 571 .ml-2 { 572 margin-left: 0.5rem; 573 } 568 574 .mr-1 { 569 575 margin-right: 0.25rem; … … 602 608 display: inline-block; 603 609 } 610 .inline { 611 display: inline; 612 } 604 613 .flex { 605 614 display: flex; … … 704 713 max-width: 100%; 705 714 } 715 .flex-1 { 716 flex: 1 1 0%; 717 } 706 718 .shrink-0 { 707 719 flex-shrink: 0; … … 718 730 .animate-spin { 719 731 animation: spin 1s linear infinite; 732 } 733 .cursor-not-allowed { 734 cursor: not-allowed; 720 735 } 721 736 .cursor-pointer { … … 858 873 border-color: rgb(254 202 202 / var(--tw-border-opacity)); 859 874 } 875 .border-red-400 { 876 --tw-border-opacity: 1; 877 border-color: rgb(248 113 113 / var(--tw-border-opacity)); 878 } 860 879 .border-transparent { 861 880 border-color: transparent; … … 1065 1084 color: rgb(17 24 39 / var(--tw-text-opacity)); 1066 1085 } 1086 .text-green-500 { 1087 --tw-text-opacity: 1; 1088 color: rgb(34 197 94 / var(--tw-text-opacity)); 1089 } 1067 1090 .text-green-600 { 1068 1091 --tw-text-opacity: 1; … … 1084 1107 color: rgb(220 38 38 / var(--tw-text-opacity)); 1085 1108 } 1086 .text- tertiary{1087 --tw-text-opacity: 1; 1088 color: rgb(1 01 199 164/ var(--tw-text-opacity));1109 .text-red-700 { 1110 --tw-text-opacity: 1; 1111 color: rgb(185 28 28 / var(--tw-text-opacity)); 1089 1112 } 1090 1113 .text-white { 1091 1114 --tw-text-opacity: 1; 1092 1115 color: rgb(255 255 255 / var(--tw-text-opacity)); 1116 } 1117 .opacity-50 { 1118 opacity: 0.5; 1093 1119 } 1094 1120 .shadow { … … 1102 1128 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1103 1129 } 1130 .shadow-md { 1131 --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); 1132 --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 1133 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1134 } 1104 1135 .shadow-sm { 1105 1136 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); … … 1109 1140 .transition-all { 1110 1141 transition-property: all; 1142 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1143 transition-duration: 150ms; 1144 } 1145 .transition-colors { 1146 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; 1111 1147 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1112 1148 transition-duration: 150ms; … … 1178 1214 background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 1179 1215 } 1216 .hover\:bg-gray-50:hover { 1217 --tw-bg-opacity: 1; 1218 background-color: rgb(249 250 251 / var(--tw-bg-opacity)); 1219 } 1180 1220 .hover\:bg-green-700:hover { 1181 1221 --tw-bg-opacity: 1; … … 1248 1288 color: rgb(255 255 255 / var(--tw-text-opacity)); 1249 1289 } 1290 .disabled\:cursor-not-allowed:disabled { 1291 cursor: not-allowed; 1292 } 1250 1293 .disabled\:bg-black\/80:disabled { 1251 1294 background-color: rgb(0 0 0 / 0.8); 1295 } 1296 .disabled\:opacity-50:disabled { 1297 opacity: 0.5; 1252 1298 } 1253 1299 .peer:checked ~ .peer-checked\:block { … … 1296 1342 } 1297 1343 1344 .sm\:inline { 1345 display: inline; 1346 } 1347 1298 1348 .sm\:flex { 1299 1349 display: flex; -
fraktvalg/trunk/build/label.js
r3260012 r3267354 1 (()=>{"use strict";var e={338:(e,t,r)=>{var a=r(795);t.H=a.createRoot,a.hydrateRoot},20:(e,t,r)=>{var a=r(609),n=Symbol.for("react.element"),l=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,s=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var a,l={},c=null,d=null;for(a in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)o.call(t,a)&&!i.hasOwnProperty(a)&&(l[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===l[a]&&(l[a]=t[a]);return{$$typeof:n,type:e,key:c,ref:d,props:l,_owner:s.current}}t.Fragment=l,t.jsx=c,t.jsxs=c},848:(e,t,r)=>{e.exports=r(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var l=t[a]={exports:{}};return e[a](l,l.exports,r),l.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var a=r(609),n=r(338);const l=window.wp.apiFetch;var o=r.n(l);const s=window.wp.i18n;function i({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const c=a.forwardRef(i);var d=r(848);function u({setIsModalOpen:e}){const[t,r]=(0,a.useState)(!1),[n,l]=(0,a.useState)(null),i=new URLSearchParams(window.location.search).get("id");return(0,a.useEffect)((()=>{r(!0),o()({path:"fraktvalg/v1/woocommerce/shipping-label",method:"POST",data:{order_id:i}}).then((e=>{l(e?.url||null)})).finally((()=>{r(!1)}))}),[]),(0,d.jsx)("div",{className:"fixed inset-0 flex items-center justify-center bg-gray-900 bg-opacity-50 z-[999999]",children:(0,d.jsxs)("div",{className:"relative bg-white p-6 rounded-md shadow-lg w-96",children:[(0,d.jsx)("button",{type:"button",className:"absolute top-0 right-1 text-gray-600 hover:text-gray-900 text-xl font-bold",onClick:()=>e(!1),children:"×"}),t?(0,d.jsx)("div",{className:"flex justify-center items-center",children:(0,d.jsx)(c,{className:"h-8 w-8 animate-spin text-primary"})}):n?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(" img",{src:n,alt:"Shipping Label",className:"max-w-full w-full h-auto mb-4 shadow-lg"}),(0,d.jsx)("button",{type:"button",className:"bg-green-600 hover:bg-green-700 text-white font-bold py-2 px-4 rounded w-full",onClick:()=>{if(n){const e=window.open("","_blank");e.document.write(`\n <html>\n <head><title>${(0,s.__)("Print","fraktvalg")}</title></head>\n <body class="flex justify-center items-center min-h-screen">\n <img src="${n}" class="max-w-full h-auto">\n </body>\n </html>\n `),e.document.close(),e.print()}},children:(0,s.__)("Print","fraktvalg")})]}):(0,d.jsx)("p",{className:"text-red-500 text-center",children:(0,s.__)("Failed to load shipping label.","fraktvalg")})]})})}function p({}){const[e,t]=(0,a.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"bg-primary hover:bg-primary/90 text-white font-bold py-2 px-4 rounded w-full",onClick:()=>{t(!0)},children:(0,s.__)("Fetch & print shipping label","fraktvalg")}),e&&(0,d.jsx)(u,{setIsModalOpen:t})]})}const f=document.getElementById("fraktvalg-label-meta-box");f&&(0,n.H)(f).render((0,d.jsx)(p,{}))})();1 (()=>{"use strict";var e={338:(e,t,r)=>{var a=r(795);t.H=a.createRoot,a.hydrateRoot},20:(e,t,r)=>{var a=r(609),n=Symbol.for("react.element"),l=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,s=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var a,l={},c=null,d=null;for(a in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)o.call(t,a)&&!i.hasOwnProperty(a)&&(l[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===l[a]&&(l[a]=t[a]);return{$$typeof:n,type:e,key:c,ref:d,props:l,_owner:s.current}}t.Fragment=l,t.jsx=c,t.jsxs=c},848:(e,t,r)=>{e.exports=r(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var l=t[a]={exports:{}};return e[a](l,l.exports,r),l.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var a=r(609),n=r(338);const l=window.wp.apiFetch;var o=r.n(l);const s=window.wp.i18n;function i({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const c=a.forwardRef(i);var d=r(848);function u({setIsModalOpen:e}){const[t,r]=(0,a.useState)(!1),[n,l]=(0,a.useState)(null),i=new URLSearchParams(window.location.search).get("id");return(0,a.useEffect)((()=>{r(!0),o()({path:"fraktvalg/v1/woocommerce/shipping-label",method:"POST",data:{order_id:i}}).then((e=>{l(e?.url||null)})).finally((()=>{r(!1)}))}),[]),(0,d.jsx)("div",{className:"fixed inset-0 flex items-center justify-center bg-gray-900 bg-opacity-50 z-[999999]",children:(0,d.jsxs)("div",{className:"relative bg-white p-6 rounded-md shadow-lg w-96",children:[(0,d.jsx)("button",{type:"button",className:"absolute top-0 right-1 text-gray-600 hover:text-gray-900 text-xl font-bold",onClick:()=>e(!1),children:"×"}),t?(0,d.jsx)("div",{className:"flex justify-center items-center",children:(0,d.jsx)(c,{className:"h-8 w-8 animate-spin text-primary"})}):n?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"bg-green-600 hover:bg-green-700 text-white font-bold py-2 px-4 rounded w-full",onClick:()=>{if(n){const e=window.open("","_blank");e.document.write(`\n <html>\n <head><title>${(0,s.__)("Print","fraktvalg")}</title></head>\n <body class="flex justify-center items-center min-h-screen">\n <img src="${n}" class="max-w-full h-auto">\n </body>\n </html>\n `),e.document.close(),e.print()}},children:(0,s.__)("Print","fraktvalg")}),(0,d.jsx)("img",{src:n,alt:"Shipping Label",className:"max-w-full w-full h-auto mb-4 shadow-lg"})]}):(0,d.jsx)("p",{className:"text-red-500 text-center",children:(0,s.__)("Failed to load shipping label.","fraktvalg")})]})})}function p({}){const[e,t]=(0,a.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"bg-primary hover:bg-primary/90 text-white font-bold py-2 px-4 rounded w-full",onClick:()=>{t(!0)},children:(0,s.__)("Fetch & print shipping label","fraktvalg")}),e&&(0,d.jsx)(u,{setIsModalOpen:t})]})}const f=document.getElementById("fraktvalg-label-meta-box");f&&(0,n.H)(f).render((0,d.jsx)(p,{}))})(); -
fraktvalg/trunk/build/onboarding-rtl.css
r3260012 r3267354 563 563 margin-bottom: 1rem; 564 564 } 565 .mb-6 { 566 margin-bottom: 1.5rem; 567 } 565 568 .ml-1 { 566 569 margin-right: 0.25rem; 567 570 } 571 .ml-2 { 572 margin-right: 0.5rem; 573 } 568 574 .mr-1 { 569 575 margin-left: 0.25rem; … … 602 608 display: inline-block; 603 609 } 610 .inline { 611 display: inline; 612 } 604 613 .flex { 605 614 display: flex; … … 704 713 max-width: 100%; 705 714 } 715 .flex-1 { 716 flex: 1 1 0%; 717 } 706 718 .shrink-0 { 707 719 flex-shrink: 0; … … 718 730 .animate-spin { 719 731 animation: spin 1s linear infinite; 732 } 733 .cursor-not-allowed { 734 cursor: not-allowed; 720 735 } 721 736 .cursor-pointer { … … 858 873 border-color: rgb(254 202 202 / var(--tw-border-opacity)); 859 874 } 875 .border-red-400 { 876 --tw-border-opacity: 1; 877 border-color: rgb(248 113 113 / var(--tw-border-opacity)); 878 } 860 879 .border-transparent { 861 880 border-color: transparent; … … 1065 1084 color: rgb(17 24 39 / var(--tw-text-opacity)); 1066 1085 } 1086 .text-green-500 { 1087 --tw-text-opacity: 1; 1088 color: rgb(34 197 94 / var(--tw-text-opacity)); 1089 } 1067 1090 .text-green-600 { 1068 1091 --tw-text-opacity: 1; … … 1084 1107 color: rgb(220 38 38 / var(--tw-text-opacity)); 1085 1108 } 1086 .text- tertiary{1087 --tw-text-opacity: 1; 1088 color: rgb(1 01 199 164/ var(--tw-text-opacity));1109 .text-red-700 { 1110 --tw-text-opacity: 1; 1111 color: rgb(185 28 28 / var(--tw-text-opacity)); 1089 1112 } 1090 1113 .text-white { 1091 1114 --tw-text-opacity: 1; 1092 1115 color: rgb(255 255 255 / var(--tw-text-opacity)); 1116 } 1117 .opacity-50 { 1118 opacity: 0.5; 1093 1119 } 1094 1120 .shadow { … … 1102 1128 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1103 1129 } 1130 .shadow-md { 1131 --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); 1132 --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 1133 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1134 } 1104 1135 .shadow-sm { 1105 1136 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); … … 1109 1140 .transition-all { 1110 1141 transition-property: all; 1142 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1143 transition-duration: 150ms; 1144 } 1145 .transition-colors { 1146 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; 1111 1147 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1112 1148 transition-duration: 150ms; … … 1178 1214 background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 1179 1215 } 1216 .hover\:bg-gray-50:hover { 1217 --tw-bg-opacity: 1; 1218 background-color: rgb(249 250 251 / var(--tw-bg-opacity)); 1219 } 1180 1220 .hover\:bg-green-700:hover { 1181 1221 --tw-bg-opacity: 1; … … 1248 1288 color: rgb(255 255 255 / var(--tw-text-opacity)); 1249 1289 } 1290 .disabled\:cursor-not-allowed:disabled { 1291 cursor: not-allowed; 1292 } 1250 1293 .disabled\:bg-black\/80:disabled { 1251 1294 background-color: rgb(0 0 0 / 0.8); 1295 } 1296 .disabled\:opacity-50:disabled { 1297 opacity: 0.5; 1252 1298 } 1253 1299 .peer:checked ~ .peer-checked\:block { … … 1296 1342 } 1297 1343 1344 .sm\:inline { 1345 display: inline; 1346 } 1347 1298 1348 .sm\:flex { 1299 1349 display: flex; -
fraktvalg/trunk/build/onboarding.asset.php
r3260012 r3267354 1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-i18n'), 'version' => ' c06250184b913da02cdb');1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-i18n'), 'version' => 'a4c185f7fadc98631e4b'); -
fraktvalg/trunk/build/onboarding.css
r3260012 r3267354 563 563 margin-bottom: 1rem; 564 564 } 565 .mb-6 { 566 margin-bottom: 1.5rem; 567 } 565 568 .ml-1 { 566 569 margin-left: 0.25rem; 567 570 } 571 .ml-2 { 572 margin-left: 0.5rem; 573 } 568 574 .mr-1 { 569 575 margin-right: 0.25rem; … … 602 608 display: inline-block; 603 609 } 610 .inline { 611 display: inline; 612 } 604 613 .flex { 605 614 display: flex; … … 704 713 max-width: 100%; 705 714 } 715 .flex-1 { 716 flex: 1 1 0%; 717 } 706 718 .shrink-0 { 707 719 flex-shrink: 0; … … 718 730 .animate-spin { 719 731 animation: spin 1s linear infinite; 732 } 733 .cursor-not-allowed { 734 cursor: not-allowed; 720 735 } 721 736 .cursor-pointer { … … 858 873 border-color: rgb(254 202 202 / var(--tw-border-opacity)); 859 874 } 875 .border-red-400 { 876 --tw-border-opacity: 1; 877 border-color: rgb(248 113 113 / var(--tw-border-opacity)); 878 } 860 879 .border-transparent { 861 880 border-color: transparent; … … 1065 1084 color: rgb(17 24 39 / var(--tw-text-opacity)); 1066 1085 } 1086 .text-green-500 { 1087 --tw-text-opacity: 1; 1088 color: rgb(34 197 94 / var(--tw-text-opacity)); 1089 } 1067 1090 .text-green-600 { 1068 1091 --tw-text-opacity: 1; … … 1084 1107 color: rgb(220 38 38 / var(--tw-text-opacity)); 1085 1108 } 1086 .text- tertiary{1087 --tw-text-opacity: 1; 1088 color: rgb(1 01 199 164/ var(--tw-text-opacity));1109 .text-red-700 { 1110 --tw-text-opacity: 1; 1111 color: rgb(185 28 28 / var(--tw-text-opacity)); 1089 1112 } 1090 1113 .text-white { 1091 1114 --tw-text-opacity: 1; 1092 1115 color: rgb(255 255 255 / var(--tw-text-opacity)); 1116 } 1117 .opacity-50 { 1118 opacity: 0.5; 1093 1119 } 1094 1120 .shadow { … … 1102 1128 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1103 1129 } 1130 .shadow-md { 1131 --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); 1132 --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 1133 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 1134 } 1104 1135 .shadow-sm { 1105 1136 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); … … 1109 1140 .transition-all { 1110 1141 transition-property: all; 1142 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1143 transition-duration: 150ms; 1144 } 1145 .transition-colors { 1146 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; 1111 1147 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 1112 1148 transition-duration: 150ms; … … 1178 1214 background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 1179 1215 } 1216 .hover\:bg-gray-50:hover { 1217 --tw-bg-opacity: 1; 1218 background-color: rgb(249 250 251 / var(--tw-bg-opacity)); 1219 } 1180 1220 .hover\:bg-green-700:hover { 1181 1221 --tw-bg-opacity: 1; … … 1248 1288 color: rgb(255 255 255 / var(--tw-text-opacity)); 1249 1289 } 1290 .disabled\:cursor-not-allowed:disabled { 1291 cursor: not-allowed; 1292 } 1250 1293 .disabled\:bg-black\/80:disabled { 1251 1294 background-color: rgb(0 0 0 / 0.8); 1295 } 1296 .disabled\:opacity-50:disabled { 1297 opacity: 0.5; 1252 1298 } 1253 1299 .peer:checked ~ .peer-checked\:block { … … 1296 1342 } 1297 1343 1344 .sm\:inline { 1345 display: inline; 1346 } 1347 1298 1348 .sm\:flex { 1299 1349 display: flex; -
fraktvalg/trunk/build/onboarding.js
r3260012 r3267354 1 (()=>{"use strict";var e={338:(e, g,M)=>{var I=M(795);g.H=I.createRoot,I.hydrateRoot},20:(e,g,M)=>{var I=M(609),t=Symbol.for("react.element"),i=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,C=I.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function a(e,g,M){var I,i={},a=null,N=null;for(I in void 0!==M&&(a=""+M),void 0!==g.key&&(a=""+g.key),void 0!==g.ref&&(N=g.ref),g)s.call(g,I)&&!l.hasOwnProperty(I)&&(i[I]=g[I]);if(e&&e.defaultProps)for(I in g=e.defaultProps)void 0===i[I]&&(i[I]=g[I]);return{$$typeof:t,type:e,key:a,ref:N,props:i,_owner:C.current}}g.Fragment=i,g.jsx=a,g.jsxs=a},848:(e,g,M)=>{e.exports=M(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM}},g={};function M(I){var t=g[I];if(void 0!==t)return t.exports;var i=g[I]={exports:{}};return e[I](i,i.exports,M),i.exports}M.n=e=>{var g=e&&e.__esModule?()=>e.default:()=>e;return M.d(g,{a:g}),g},M.d=(e,g)=>{for(var I in g)M.o(g,I)&&!M.o(e,I)&&Object.defineProperty(e,I,{enumerable:!0,get:g[I]})},M.o=(e,g)=>Object.prototype.hasOwnProperty.call(e,g);var I=M(609),t=M(338);const i=window.wp.apiFetch;var s=M.n(i);const C=window.wp.i18n;function l(e){var g,M,I="";if("string"==typeof e||"number"==typeof e)I+=e;else if("object"==typeof e)if(Array.isArray(e)){var t=e.length;for(g=0;g<t;g++)e[g]&&(M=l(e[g]))&&(I&&(I+=" "),I+=M)}else for(M in e)e[M]&&(I&&(I+=" "),I+=M);return I}function a(){for(var e,g,M=0,I="",t=arguments.length;M<t;M++)(e=arguments[M])&&(g=l(e))&&(I&&(I+=" "),I+=g);return I}var N=M(848);function A({disabled:e=!1,plain:g=!1,className:M,children:I,onClick:t=()=>{},...i}){const s=a("block w-full bg-primary text-white rounded-md p-3","hover:bg-primary/90 hover:text-white","active:bg-primary/90 active:text-white","focus:bg-primary/90 focus:text-white","disabled:bg-black/80",M);return i.href?(0,N.jsx)("a",{className:s,...i,children:I}):(0,N.jsx)("button",{onClick:t,disabled:e,className:s,...i,children:I})}function c({type:e="notice",title:g,children:M,className:I=""}){const t=a("border rounded-md p-2","success"===e?"bg-green-100 border-green-200":"","notice"===e?"bg-yellow-100 border-yellow-200":"","error"===e?"bg-red-100 border-red-200":"",I);return(0,N.jsxs)("div",{className:t,children:[(0,N.jsx)("div",{className:"text-md text-black font-semibold",children:g}),M&&(0,N.jsx)("div",{className:"text-sm text-black",children:M})]})}function r({title:e,titleId:g,...M},t){return I.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":g},M),e?I.createElement("title",{id:g},e):null,I.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z",clipRule:"evenodd"}))}const j=I.forwardRef(r);function n({title:e,titleId:g,...M},t){return I.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":g},M),e?I.createElement("title",{id:g},e):null,I.createElement("path",{fillRule:"evenodd",d:"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z",clipRule:"evenodd"}))}const D=I.forwardRef(n);function w({nextStep:e}){const[g,M]=(0,I.useState)(""),[t,i]=(0,I.useState)(null);return(0,N.jsxs)("div",{className:"space-y-8",children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:(0,C.__)("Activate license","fraktvalg")}),(0,N.jsx)("p",{className:"mt-1 text-sm text-gray-500",children:(0,C.__)("Your license will be activated for the domain: ","fraktvalg")+window.location.host})]}),(0,N.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-5 gap-6",children:[(0,N.jsx)("div",{className:"md:col-span-3 bg-white rounded-lg border border-gra-200 p-6",children:(0,N.jsxs)("div",{className:"space-y-4",children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",htmlFor:"license",children:(0,C.__)("License key","fraktvalg")}),(0,N.jsx)("input",{type:"text",name:"license",id:"license",value:g,className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary",placeholder:(0,C.__)("Enter your license key","fraktvalg"),onChange:e=>M(e.target.value)})]}),t&&(0,N.jsx)(c,{type:t.type,title:t.title,className:"my-2",children:t.message}),(0,N.jsx)("div",{className:"w-full mt-1",children:(0,N.jsx)(A,{onClick:()=>{i(null),s()({path:"/fraktvalg/v1/settings/api-key",method:"POST",data:{api_key:g}}).then((g=>{e()})).catch((e=>{i({type:"error",title:(0,C.__)("An error was encountered when validating your API key","fraktvalg"),message:e?.message})}))},disabled:!g.length>0,children:(0,C.__)("Activate license","fraktvalg")})})]})}),(0,N.jsxs)("div",{className:"md:col-span-2 bg-tertiary/10 rounded-lg p-6 flex flex-col",children:[(0,N.jsxs)("div",{className:"flex items-center space-x-2 text-custom mb-4",children:[(0,N.jsx)(j,{className:"w-5 h-5"}),(0,N.jsx)("span",{className:"font-medium",children:(0,C.__)("Need a license?","fraktvalg")})]}),(0,N.jsx)("p",{className:"text-sm text-gray-600 mb-4",children:(0,C.__)("To use Fraktvalg you first need to register an account. It only takes a moment to get started.","fraktvalg")}),(0,N.jsxs)("a",{href:"https://Fraktvalg.no?utm_source=plugin&utm_medium=register&utm_campaign=onboarding",className:"mt-auto group inline-flex items-center text-cuistom hover:text-custom-dark font-medium",children:[(0,N.jsx)("span",{children:(0,C.__)("Register at fraktvalg.no","fraktvalg")}),(0,N.jsx)(D,{className:"ml-1 w-4 h-4"})]})]})]})]})}function x({children:e}){return(0,N.jsx)("div",{className:"w-full mt-2 bg-gray-50 rounded-lg p-5 help-content border border-gray-200 space-y-4",children:(0,N.jsx)("div",{className:"text-sm text-gray-600",children:e})})}function T({field:e,name:g,label:M,value:t=!1,callback:i,required:s=!1,children:C}){const[l,a]=(0,I.useState)(t);return(0,N.jsxs)("div",{className:"relative",children:[(0,N.jsxs)("label",{className:"inline-flex items-center cursor-pointer",children:[(0,N.jsx)("input",{name:g,type:"checkbox",checked:t,onChange:e=>{a(e.target.checked),i(e)},required:s,className:"sr-only peer"}),(0,N.jsx)("div",{className:"relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 rounded-full peer dark:bg-gray-200 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"}),(0,N.jsx)("span",{className:"ms-3 mr-2 text-sm",children:M})]}),C,e?.stateDescriptions?.enabled&&l&&(0,N.jsx)(x,{children:e?.stateDescriptions?.enabled}),e?.stateDescriptions?.disabled&&!l&&(0,N.jsx)(x,{children:e?.stateDescriptions?.disabled})]})}function L({name:e,label:g,value:M="",placeholder:I="",required:t=!1,callback:i,children:s}){return(0,N.jsxs)("div",{children:[(0,N.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:g}),(0,N.jsx)("input",{name:e,type:"password",value:M,onChange:i,placeholder:I,required:t,className:"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary focus:border-primary sm:text-sm"}),s]})}function u({name:e,label:g,value:M="",placeholder:I="",required:t=!1,callback:i,children:s}){return(0,N.jsxs)("div",{children:[(0,N.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:g}),(0,N.jsx)("input",{name:e,type:"text",value:M,onChange:i,placeholder:I,required:t,className:"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary focus:border-primary sm:text-sm"}),s]})}function o({name:e,label:g,value:M="",placeholder:t="",required:i=!1,callback:s,children:C,...l}){const[a,A]=(0,I.useState)(null!=M?M:0);return(0,N.jsxs)("div",{children:[(0,N.jsxs)("div",{className:"flex items-center justify-between",children:[(0,N.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:g}),(0,N.jsx)("input",{name:e,type:"number",value:a,onChange:s,placeholder:t,required:i,min:"0",className:"hidden"}),(0,N.jsxs)("div",{className:"inline-flex items-center gap-4",children:[(0,N.jsx)("button",{onClick:()=>{a>0&&A(a-1)},className:"px-2 py-1 font-mono text-lg text-gray-700 border border-gray-200 rounded-md hover:bg-gray-100",children:"-"}),(0,N.jsx)("span",{className:"text-lg font-mono font-semibold",children:a}),(0,N.jsx)("button",{onClick:()=>{A(a+1)},className:"px-2 py-1 font-mono text-lg text-gray-700 border border-gray-200 rounded-md hover:bg-gray-100",children:"+"})]})]}),C]})}function d({title:e,titleId:g,...M},t){return I.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":g},M),e?I.createElement("title",{id:g},e):null,I.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"}))}const y=I.forwardRef(d);function m({includeOptional:e=!1,provider:g,fields:M,callback:t}){const[i,s]=(0,I.useState)({}),[l,a]=(0,I.useState)(!1),A=e=>{"checkbox"!==e.target.type?(s({...i,[e.target.name]:e.target.value}),t(g,i)):s({...i,[e.target.name]:e.target.checked})};(0,I.useEffect)((()=>{M.forEach((e=>{e?.value&&s({...i,[e.name]:e.value})}))}),[]);const c=e=>{switch(e.type){case"boolean":return(0,N.jsx)(T,{name:e.name,label:e.label,value:i?.[e.name],callback:A,required:e.required,field:e,children:(0,N.jsx)(N.Fragment,{children:e?.description&&(0,N.jsx)(x,{children:e?.description})})});case"password":return(0,N.jsx)(L,{name:e.name,label:e.label,value:i?.[e.name],placeholder:e.placeholder,callback:A,required:e.required,field:e,children:(0,N.jsx)(N.Fragment,{children:e?.description&&(0,N.jsx)(x,{children:e?.description})})});case"number":return(0,N.jsx)(o,{name:e.name,label:e.label,value:i?.[e.name],placeholder:e.placeholder,callback:A,required:e.required,field:e,children:(0,N.jsx)(N.Fragment,{children:e?.description&&(0,N.jsx)(x,{children:e?.description})})});default:return(0,N.jsx)(u,{name:e.name,label:e.label,value:i?.[e.name],placeholder:e.placeholder,callback:A,required:e.required,field:e,children:(0,N.jsx)(N.Fragment,{children:e?.description&&(0,N.jsx)(x,{children:e?.description})})})}};return(0,N.jsx)(N.Fragment,{children:M.flatMap(((g,M)=>g?.optional&&!e?[]:(0,N.jsxs)("div",{children:[c(g),g?.help&&(0,N.jsxs)("div",{className:"mt-2",children:[(0,N.jsxs)("button",{type:"button",className:"text-sm text-custom hover:text-custom-dark flex items-center cursor-pointer help-toggle",onClick:()=>a(!l),children:[(0,N.jsx)(y,{className:"w-5 h-5 mr-1"}),(0,N.jsx)("span",{children:g?.help?.label||(0,C.__)("Help","fraktvalg")})]}),l&&(0,N.jsxs)(x,{children:[(0,N.jsx)("p",{children:g?.help?.text}),g?.help?.url?.link&&(0,N.jsx)("div",{className:"mt-3",children:(0,N.jsxs)("a",{href:g?.help?.url?.link,target:"_blank",className:"inline-flex items-center text-custom hover:text-custom-dark font-medium",children:[(0,N.jsx)("span",{children:g?.help?.url?.label}),(0,N.jsx)(D,{className:"ml-1 w-4 h-4"})]})})]})]})]},M)))})}function z({title:e,titleId:g,...M},t){return I.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":g},M),e?I.createElement("title",{id:g},e):null,I.createElement("path",{fillRule:"evenodd",d:"M11.47 7.72a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06L12 9.31l-6.97 6.97a.75.75 0 0 1-1.06-1.06l7.5-7.5Z",clipRule:"evenodd"}))}const p=I.forwardRef(z);function h({title:e,titleId:g,...M},t){return I.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":g},M),e?I.createElement("title",{id:g},e):null,I.createElement("path",{fillRule:"evenodd",d:"M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z",clipRule:"evenodd"}))}const O=I.forwardRef(h);function b({title:e,titleId:g,...M},t){return I.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":g},M),e?I.createElement("title",{id:g},e):null,I.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const k=I.forwardRef(b);function E({title:e,titleId:g,...M},t){return I.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":g},M),e?I.createElement("title",{id:g},e):null,I.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"}))}const S=I.forwardRef(E);function Y({logo:e=null,...g}){const{alt:M=""}=g;return e?e.startsWith("http")?(0,N.jsx)("img",{src:e,alt:M,...g}):(e.startsWith("https")||(e=encodeURIComponent(e)),(0,N.jsx)("img",{src:"data:image/svg+xml;utf8,"+e,alt:M,...g})):(0,N.jsx)(S,{...g})}function v({supplierId:e,supplier:g,title:M,content:t,isConnected:i=!1,visible:s=!0,classNames:l="",innerClassNames:A=""}){const[c,r]=(0,I.useState)(s),j=a("border bg-white rounded-md",l),n=a("border-t-2 border-gray-100 p-4",A);return(0,N.jsxs)("div",{className:j,children:[(0,N.jsx)("button",{className:"flex w-full p-4 items-center justify-between",onClick:()=>r(!c),children:(0,N.jsx)("h2",{className:"text-lg font-bold w-full",children:(0,N.jsxs)("div",{className:"flex item-center justify-between focus:outline-none w-full",children:[(0,N.jsxs)("div",{className:"flex",children:[g?.logo&&(0,N.jsx)("div",{children:(0,N.jsx)(Y,{logo:g?.logo,alt:M,className:"w-8 h-8 mr-2"})}),(0,N.jsx)("div",{className:"inline-flex items-center gap-4",children:(0,N.jsx)("span",{children:M})})]}),(0,N.jsxs)("div",{className:"flex items-center gap-4",children:[i&&(0,N.jsx)("div",{className:"px-3 py-1 text-sm rounded-full bg-green-100 text-green-600",children:(0,C.__)("Connected","fraktvalg")}),!i&&(0,N.jsx)("div",{className:"px-3 py-1 text-sm rounded-full bg-red-100 text-red-600",children:(0,C.__)("Disconnected","fraktvalg")}),c?(0,N.jsx)(p,{className:"h-6 w-6 text-gray-600"}):(0,N.jsx)(O,{className:"h-6 w-6 text-gray-600"})]})]})})}),c&&(0,N.jsx)("div",{className:n,children:t})]})}function U({nextStep:e}){const[g,M]=(0,I.useState)({}),[t,i]=(0,I.useState)(null),[l,a]=(0,I.useState)(!0),[c,r]=(0,I.useState)(null),[j,n]=(0,I.useState)(""),[D,w]=(0,I.useState)([]),[x,T]=(0,I.useState)({}),L=(e,g)=>{T({...x,[e]:g})};return(0,I.useEffect)((()=>{i(null),s()({path:"fraktvalg/v1/settings/providers",method:"GET"}).then((e=>{M(e?.data||{})})).catch((e=>{i(e?.message)})).then((()=>{a(!1)}))}),[]),l?(0,N.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,N.jsx)(k,{className:"h-8 w-8 animate-spin text-primary"}),(0,N.jsx)("div",{className:"text-lg",children:"Fetching available providers..."})]}):(0,N.jsxs)("div",{className:"grid grid-cols-1 gap-3",children:[(0,N.jsx)("span",{className:"text-xl",children:"Nesten ferdig, vi trenger å vite hvilke fraktleverandører du har en avtale med."}),Object.keys(g).map((e=>(0,N.jsx)(v,{title:g[e]?.name,supplierId:e,supplier:g[e],visible:!1,isConnected:D.includes(e),content:(0,N.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[j===e&&(0,N.jsxs)("div",{className:"absolute w-full h-full top-0 left-0 bg-white flex flex-col justify-center items-center gap-2",children:[(0,N.jsx)(k,{className:"h-6 w-6 animate-spin text-primary"}),(0,N.jsx)("span",{children:(0,C.__)("Connecting provider, one moment please...","fraktvalg")})]}),(0,N.jsx)(m,{provider:e,fields:g[e]?.fields||[],callback:L}),(0,N.jsx)(A,{type:"button",onClick:()=>(e=>{n(e),s()({path:"fraktvalg/v1/settings/providers/store",method:"POST",data:{providerId:e,fieldValues:x[e]}}).then((g=>{n(""),w([...D,e])})).catch((e=>{console.error(e)}))})(e),children:(0,C.__)("Connect to this provider","fraktvalg")})]})},e))),(0,N.jsx)(A,{type:"button",onClick:e,children:(0,C.__)("Next step","fraktvalg")})]})}function f({title:e,titleId:g,...M},t){return I.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":g},M),e?I.createElement("title",{id:g},e):null,I.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const Q=I.forwardRef(f);function G({nextStep:e}){return(0,N.jsxs)("div",{className:"flex flex-col justify-center items-center gap-4",children:[(0,N.jsx)("div",{children:(0,N.jsx)(Q,{className:"w-20 h-20 text-primary"})}),(0,N.jsx)("span",{className:"text-2xl text-center",children:(0,C.__)("Fraktvalg is now set up and ready to use.","fraktvalg")}),(0,N.jsx)(A,{onClick:()=>e(),children:(0,C.__)("Finish setup","fraktvalg")})]})}function B({current:e=!1,future:g=!1,past:M=!1,setStep:I=null,label:t=null,step:i}){const s="flex items-center justify-center w-8 h-8 border-2 border-gray-300 bg-white rounded-full shrink-0"+(e?" border-primary text-primary":"")+(M?" border-primary/80 text-primary/90":""),C="flex items-center text-custom space-x-2.5"+(null!==I&&!0===M?" cursor-pointer":"");return(0,N.jsxs)("li",{className:C,onClick:()=>{!0===M&&null!==I&&I(i)},children:[(0,N.jsx)("span",{className:s,children:(0,N.jsx)("span",{className:"font-medium",children:e?(0,N.jsx)("strong",{children:i}):i})}),t&&(0,N.jsx)("span",{children:(0,N.jsx)("div",{className:"font-medium leading-tight",children:e?(0,N.jsx)("strong",{children:t}):t})})]})}function Z({currentStep:e,steps:g,labels:M,setStep:I=null,...t}){return(0,N.jsxs)("div",{className:"mb-10",children:[(0,N.jsxs)("span",{className:"sr-only",children:["Step ",e," of ",g]}),(0,N.jsx)("ol",{className:"items-center w-full space-y-4 sm:flex sm:space-x-8 sm:space-y-0 sm:justify-center max-w-2xl mx-auto",children:[...Array(g)].map(((g,t)=>(0,N.jsx)(B,{current:t+1===e,past:t+1<e,future:t+1>e,setStep:I,step:t+1,label:M[t]},t)))})]})}function X({title:e,children:g,open:M=!1}){const[t,i]=(0,I.useState)(M||!1);return(0,N.jsxs)("div",{className:"border bg-white rounded-md",children:[(0,N.jsxs)("button",{className:"w-full flex p-4 justify-between",onClick:()=>i(!t),children:[(0,N.jsx)("h2",{className:"text-lg text-left font-bold w-full",children:e}),(0,N.jsx)("div",{className:"relative inline-block",children:t?(0,N.jsx)(p,{className:"h-6 w-6 text-primary"}):(0,N.jsx)(O,{className:"h-6 w-6 text-primary"})})]}),t&&(0,N.jsx)("div",{className:"p-4",children:g})]})}function F({nextStep:e}){const[g,M]=(0,I.useState)(null),[t,i]=(0,I.useState)(!1),[l,a]=(0,I.useState)({freight:{addedCost:0,undersell:10,custom:{name:(0,C.__)("Shipping & handling","fraktvalg"),price:100}},names:[]}),r=e=>{switch(e.target.name){case"freight[addedCost]":a({...l,freight:{...l.freight,addedCost:e.target.value}});break;case"freight[undersell]":a({...l,freight:{...l.freight,undersell:e.target.value}});break;case"freight[custom][name]":a({...l,freight:{...l.freight,custom:{...l.freight.custom,name:e.target.value}}});break;case"freight[custom][price]":a({...l,freight:{...l.freight,custom:{...l.freight.custom,price:e.target.value}}})}};return(0,N.jsxs)("div",{className:"grid grid-cols-1 gap-3",children:[(0,N.jsx)("span",{className:"text-xl",children:(0,C.__)("Almost there! Are there any optional settings you would like to change?","fraktvalg")}),(0,N.jsx)(X,{title:(0,C.__)("Backup shipping option","fraktvalg"),open:!0,children:(0,N.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[(0,N.jsx)("p",{children:(0,C.__)("If Fraktvalg should ever become unavailable, create a shipping alternative that will be used instead.","fraktvalg")}),(0,N.jsx)(u,{label:(0,C.__)("Shipping option name","fraktvalg"),name:"freight[custom][name]",value:l.freight.custom.name,callback:r}),(0,N.jsx)(o,{label:(0,C.__)("Shipping option cost"),name:"freight[custom][price]",value:l.freight.custom.price,callback:r})]})}),(0,N.jsx)(X,{title:(0,C.__)("Shipping cost adjustments","fraktvalg"),children:(0,N.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[(0,N.jsx)("p",{children:(0,C.__)("Safeguard your shipping costs with these optional alternatives.","fraktvalg")}),(0,N.jsx)("div",{children:(0,N.jsx)(o,{label:(0,C.__)("Add an optional surcharge to all shipping options","fraktvalg"),name:"freight[addedCost]",value:l.freight.addedCost,callback:r,children:(0,N.jsx)("p",{className:"text-xs italic",children:(0,C.__)("Additional shipping surcharges are meant to cover administrative- and handling costs, and is automatically added to all shipping alternatives.","fraktvalg")})})}),(0,N.jsx)("div",{children:(0,N.jsx)(o,{label:(0,C.__)("Fixed discount for prioritized shipping providers","fraktvalg"),name:"freight[undersell]",value:l.freight.undersell,callback:r,children:(0,N.jsx)("p",{className:"text-xs italic",children:(0,C.__)("If you have chosen a prioritized shipping provider, they will always be cheaper than the competitors by the amount specified here.","fraktvalg")})})})]})}),g&&(0,N.jsx)(c,{type:g.type,title:g.title,children:g.message}),(0,N.jsx)(A,{type:"button",onClick:()=>{M(null),i(!1),s()({path:"/fraktvalg/v1/settings/optional-settings",method:"POST",data:{options:l}}).then((e=>{M({type:e?.type,title:e?.title,message:e?.message}),i(!0)})).catch((e=>{M({type:"error",title:(0,C.__)("Error saving optional settings","fraktvalg"),message:e?.message})}))},children:(0,C.__)("Save optional settings","fraktvalg")}),t&&(0,N.jsx)(A,{type:"button",onClick:e,children:(0,C.__)("Finish setup","fraktvalg")})]})}function R(){const[e,g]=(0,I.useState)(1),M=[(0,C.__)("License","fraktvalg"),(0,C.__)("Providers","fraktvalg"),(0,C.__)("Settings","fraktvalg"),(0,C.__)("Finished","fraktvalg")];e>M.length&&s()({path:"/fraktvalg/v1/onboarding/complete",method:"POST"}).then((()=>{window.location.href="index.php"}));const t=()=>{g(e+1)};return(0,N.jsx)("div",{className:"top-0 left-0 w-full",children:(0,N.jsx)("div",{className:"flex justify-center p-8 mt-16",children:(0,N.jsxs)("div",{className:"grid gap-8",children:[(0,N.jsx)("div",{className:"m-auto",children:(0,N.jsx)("img",{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMzUwIgogICBoZWlnaHQ9Ijk2LjI3NzM1OSIKICAgdmlld0JveD0iMCAwIDkyLjYwNDE1NiAyNS40NzMzODEiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzEiCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczEiPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEwMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTI1Mi4zNDE1NiwtNjkuNTExNzIxKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEwMSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTAzIj4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMjgwLjk3OTcxLC03OS41OTE4MDIpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTAzIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMDUiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC0zMDAuNTQ2MzgsLTc4Ljg5NjQ4NCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMDUiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEwNyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTMzMi42ODExOCwtNjkuNTExNzIxKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEwNyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTA5Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMzYzLjIyNDYzLC03MS4yMTg3NTIpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTA5IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMTEiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC0zODIuODQ4MTYsLTc5Ljc0OTk5OSkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMTEiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDExMyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTQxMi41OTQ3NCwtNzguODk2NDg0KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDExMyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTE1Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTIzMS42MzE5LC00OTYuNzEwOTYpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTE1IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMTciPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC00NTUuNjIxMzQsLTc4Ljg5NjQ4NCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMTciIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDExOSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTY5OC42ODA4OSwtNTc1LjAyNzM2KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDExOSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTIxIj4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTgwLjY3NDc4LC04MS4zMDg1OTcpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTIxIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMjMiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC03NTEuMTA3NDcsLTUyMi4yOTEwNCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMjMiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEyNSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTY3Mi4wMDIxOSwtNDk1LjkyMTg5KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEyNSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTI3Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTY3LjQ4MjQzLC04MS4zMDg1OTcpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTI3IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMjkiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC02NDUuOTQyMTcsLTQ5NS45MjE4OSkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMjkiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEzMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTEzNS4xOTA5NSwtNDIuMDk5NjExKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEzMSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4MDY4NDUsLTAuMzc3MjQwNDgpIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwMCIKICAgICAgIGQ9Im0gNTkxLjI2NjYsNTExLjczOTE3IHYgLTgyLjgxNTMxIGggNDkuODYxNDUgdiAxMy44NTgxNSBoIC0zNi4wMDA0OSB2IDIwLjY0Njc5IGggMzYuMDAwNDkgdiAxMy44MDI2MSBoIC0zNi4wMDA0OSB2IDM0LjUwNzc2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTQ2LjU0ODIyNiwtNDguNTk4OTE1KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDEwMSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMDIiCiAgICAgICBkPSJtIDYyMC41NDE5OSw1MDEuNjU5MTUgdiAtNjIuMTEyNDkgaCAxMi4yNTEyMiB2IDE1LjEyNTYxIGwgLTEuNDk5NTEsLTEuOTU0NTMgYyAwLjc3MTYxLC0yLjA3MTIzIDEuNzk0MTksLTMuOTU4NDkgMy4wODAyLC01LjY2MzY5IDEuMjg1ODksLTEuNzA1MjYgMi44MjY5MSwtMy4xMTc2OCA0LjYyOTAzLC00LjIyOTQzIDEuNTM1MTYsLTEuMDM0NjEgMy4yMjgzOSwtMS44NDk2NyA1LjA4OTk3LC0yLjQ0MzEyIDEuODU5NjEsLTAuNTkxNDkgMy43Njg1NSwtMC45NTc0NiA1LjcyNDk3LC0xLjA5MTk4IDEuOTU0NTksLTAuMTM0NTIgMy44NDk3MywtMC4wNDk0IDUuNjg5NDUsMC4yNTcxNCB2IDEyLjk0MTU5IGMgLTEuODM5NzIsLTAuNTM4MDkgLTMuOTU2NTQsLTAuNzEwMiAtNi4zNTIxNywtMC41MTgzMSAtMi4zOTk0MSwwLjE5IC00LjU1MzgzLDAuODYyNTUgLTYuNDcwODIsMi4wMTM4NiAtMS45MTY3NSwxLjAzMjcxIC0zLjQ3OTYyLDIuMzU2MDcgLTQuNjg2MjgsMy45NjYzIC0xLjIwODc0LDEuNjEyMzEgLTIuMTAyOTEsMy40NDQyMiAtMi42NzQ2OSw1LjQ5NTU1IC0wLjU3NTU2LDIuMDQ5NTYgLTAuODY0MzgsNC4yNjMxOCAtMC44NjQzOCw2LjYzODk4IHYgMzEuNTc0NTIgeiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNDIuNzkyODYzLC00Ny4yNzcxMDEpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTAzKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwNCIKICAgICAgIGQ9Im0gNjYxLjM2Mjc5LDUwNC4wODE0OCBjIC00LjQ4NjU3LDAgLTguMjgyODMsLTAuODU0NjEgLTExLjM5MDUsLTIuNTU5ODEgLTMuMTAxOTMsLTEuNzA1MiAtNS40NTQxLC0zLjk3ODIxIC03LjA0MjYsLTYuODE1IC0xLjU5MjQxLC0yLjgzNjc0IC0yLjM4NTc0LC01Ljk2MjQxIC0yLjM4NTc0LC05LjM3NDg4IDAsLTIuOTkwOTcgMC40OTY1OCwtNS42ODM0MSAxLjQ5MTU3LC04LjA4MTA2IDAuOTk5MDMsLTIuMzk1NjMgMi41MzQxOCwtNC40NjQ4NCA0LjYwMTU2LC02LjIxMTYxIDIuMDczLC0xLjc0Mjg2IDQuNzU1NSwtMy4xNjkxMiA4LjA1MzIzLC00LjI4Mjg5IDIuNDkyNTUsLTAuODA1MTIgNS40MTYzOCwtMS41MzMwOSA4Ljc2OTQxLC0yLjE4Mzk2IDMuMzU3MTcsLTAuNjUwODIgNi45OTkxNCwtMS4yNTYxNyAxMC45Mjc4NSwtMS44MTQwMyAzLjkzMjc0LC0wLjU1NTkxIDguMDQzNTgsLTEuMTU3MjkgMTIuMzM2MzEsLTEuODEyMDEgbCAtNC45NDU2OCwyLjgxODkxIGMgMC4wMzc2LC00LjI5MjczIC0wLjkxOTkyLC03LjQ1Nzg5IC0yLjg3NDI3LC05LjQ4OTU3IC0xLjk1NDU5LC0yLjAzMTY3IC01LjI1MjIsLTMuMDQ4NDYgLTkuODkzMTksLTMuMDQ4NDYgLTIuNzk5MTksMCAtNS41MDE0NiwwLjY1MjgzIC04LjExMDg0LDEuOTU0NTMgLTIuNjA3MTgsMS4zMDU2IC00LjQyNzI0LDMuNTQ4OTUgLTUuNDYxNzksNi43MzE4NyBsIC0xMi42NTA4OCwtMy45NzAyNyBjIDEuNTMzMiwtNS4yNTIyIDQuNDU1MDgsLTkuNDY3NzggOC43Njk1MywtMTIuNjUyNzcgNC4zMTA1NSwtMy4xODA5NyAxMC4xMzA2MiwtNC43NzM0NCAxNy40NTM5OCwtNC43NzM0NCA1LjUyMTI0LDAgMTAuMzgxODQsMC45MDAwMiAxNC41Nzk1OSwyLjcwMjIxIDQuMTk3NzYsMS44MDIxOCA3LjMxMzQ4LDQuNzU1NjEgOS4zNDUyMiw4Ljg1ODUyIDEuMTExNjksMi4xODM5NiAxLjc4NDE4LDQuNDE5MzcgMi4wMTE3Miw2LjcwMDI2IDAuMjMxNTYsMi4yODA5NCAwLjM0ODI2LDQuNzY1NjIgMC4zNDgyNiw3LjQ0NjEgdiAzOC4xMzAzNyBIIDY4My4xNTcxIHYgLTEzLjQ1Nzg4IGwgMi4wMTM5MiwyLjE4Nzg2IGMgLTIuNzk5MzIsNC40ODQ2OCAtNi4wNjU0Myw3Ljc3MjU5IC05LjgwNDIsOS44NjE1NyAtMy43Mzg3NywyLjA4ODkzIC04LjQwNzU5LDMuMTM1NDQgLTE0LjAwNDAzLDMuMTM1NDQgbSAyLjc1OTc3LC0xMS4wNDI0OCBjIDMuMTQzNDMsMCA1LjgyNzg4LC0wLjU1NTg1IDguMDUxNTEsLTEuNjY3NiAyLjIyMzM5LC0xLjExMzgzIDMuOTk1ODUsLTIuNDc0NzkgNS4zMTkyMiwtNC4wODUwOCAxLjMyMzQ4LC0xLjYwODM0IDIuMjEzNzQsLTMuMTI1NjEgMi42NzY2MywtNC41NDIgMC43MjYwOCwtMS43NjQ1OCAxLjEzNzU4LC0zLjc4NjMxIDEuMjM0MzgsLTYuMDY3MjYgMC4wOTY5LC0yLjI4MDg4IDAuMTQ2NDgsLTQuMTMwNjEgMC4xNDY0OCwtNS41NTA5IGwgNC4yNTMwNSwxLjI2NTk5IGMgLTQuMTc3OTgsMC42NTA5NCAtNy43NjQ1MiwxLjIyNjU2IC0xMC43NTM1NCwxLjcyNzExIC0yLjk5MTIxLDAuNDk2NTIgLTUuNTYwNzksMC45NjU0IC03LjcwNzI3LDEuNDA2NSAtMi4xNDgzMiwwLjQ0MTEgLTQuMDQzNDYsMC45Mjk3NSAtNS42OTMyNCwxLjQ2NzgzIC0xLjYxMDM1LDAuNTczNjcgLTIuOTcxNDQsMS4yNDYyOCAtNC4wODUwOCwyLjAxMTg0IC0xLjExMTcsMC43Njc2NCAtMS45NjI0MSwxLjY0OTg0IC0yLjU1Nzg2LDIuNjQ2OTEgLTAuNTk3NDIsMC45OTUgLTAuODkyMjIsMi4xNjQxMyAtMC44OTIyMiwzLjUwNzMzIDAsMS41MzUxNSAwLjM4Mzc5LDIuODg0MjggMS4xNTEzNyw0LjA1NTQyIDAuNzY3NTgsMS4xNjkxMyAxLjg4NzIxLDIuMDk2OTIgMy4zNjQ5OSwyLjc4NzM1IDEuNDc1NzEsMC42OTIzMiAzLjMwNzYyLDEuMDM2NTYgNS40OTE1OCwxLjAzNjU2IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC00MC4yMjcwNTQsLTQ3LjM2ODI3OSkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMDUpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTA2IgogICAgICAgZD0ibSA2NzMuMzkzOTIsNTExLjczOTE3IDAuMTE0MDEsLTgyLjgxNTMxIGggMTQuMDM2MjYgdiA1MC42MDk0MyBsIDIyLjcxNDk3LC0yOS45MDcwNCBoIDE3LjMxMDkxIGwgLTI0LjA5NjgsMzEuMDU3ODYgMjYuMTY3OTcsMzEuMDU1MDYgaCAtMTguMzQ3OTEgbCAtMjMuNzQ5MTQsLTI5LjkwNjk5IHYgMjkuOTA2OTkgeiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtMzYuMDEzMTY5LC00OC41OTg5MTUpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTA3KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwOCIKICAgICAgIGQ9Im0gNzA5LjQ0OTg5LDQ0Ny45MjAxNCBoIDI3LjIwMjUxIHYgMTAuODcwNDIgaCAtMjcuMjAyNTEgeiBtIDI3LjIwMjUxLDYyLjExMjQ4IGMgLTQuMTA0NzMsMC43NjU2OSAtOC4xMTg1MywxLjEwMTg3IC0xMi4wNDkzMSwxLjAwODk4IC0zLjkyODgzLC0wLjEwMDk2IC03LjQ1MDA3LC0wLjgyNzAzIC0xMC41NTE4OCwtMi4xODc5OSAtMy4xMDc3OSwtMS4zNTkwMSAtNS40NjU5NCwtMy41MTczNCAtNy4wNzQyMiwtNi40NzA3NyAtMS40MjAyOSwtMi42ODI1NSAtMi4xNjgwOSwtNS40MjIzNiAtMi4yNDMyOSwtOC4yMjM1NyAtMC4wNzkyLC0yLjc5OTEzIC0wLjExNjgyLC01Ljk1ODM3IC0wLjExNjgyLC05LjQ4NzU1IFYgNDMwLjY2OCBoIDEzLjgwMjM3IHYgNTMuMTk2NTkgYyAwLDIuNDkyNTYgMC4wMjk3LDQuNjgwNTUgMC4wODY5LDYuNTU3ODYgMC4wNTk2LDEuODc5MzQgMC40NDkxLDMuNDEyNDggMS4xODA5MSw0LjYwMTM4IDEuMzc4OTEsMi4yOTg3MSAzLjU4MjY0LDMuNTg0NDggNi42MTM0MSwzLjg1MzU4IDMuMDI4NTYsMC4yNjUwOCA2LjQ3ODc2LDAuMTEyNzMgMTAuMzUxOTIsLTAuNDYwOTQgdiAxMS42MTYxNSB6IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC0zMi4wMDc5NiwtNDguMzc1MDcpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTA5KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDExMCIKICAgICAgIGQ9Im0gNzQ3LjIyMDAzLDUwMS41MDE5MiAtMjIuNTQyODQsLTYyLjExMjkxIGggMTMuODYxMDggbCAxNS42NDI4Miw0NS4wMzI4MyAxNS41ODQ2LC00NS4wMzI4MyBoIDEzLjkxNjI2IGwgLTIyLjU0MjQ4LDYyLjExMjkxIHoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTI5LjQzNDY5OSwtNDcuMjU2MzU2KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExMSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTIiCiAgICAgICBkPSJtIDc3NS45MDY5Miw1MDQuMDgxNDggYyAtNC40ODg2NSwwIC04LjI4Mjg0LC0wLjg1NDYxIC0xMS4zODg3OSwtMi41NTk4MSAtMy4xMDM3NiwtMS43MDUyIC01LjQ1NTgxLC0zLjk3ODIxIC03LjA0NDMxLC02LjgxNSAtMS41OTI1MywtMi44MzY3NCAtMi4zODc4MiwtNS45NjI0MSAtMi4zODc4MiwtOS4zNzQ4OCAwLC0yLjk5MDk3IDAuNDk2NDYsLTUuNjgzNDEgMS40OTM1MywtOC4wODEwNiAwLjk5OTAyLC0yLjM5NTYzIDIuNTMyMSwtNC40NjQ4NCA0LjYwMzM5LC02LjIxMTYxIDIuMDcxMjksLTEuNzQyODYgNC43NTM2NiwtMy4xNjkxMiA4LjA1MTM5LC00LjI4Mjg5IDIuNDkwNiwtMC44MDUxMiA1LjQxNjM5LC0xLjUzMzA5IDguNzY5NTQsLTIuMTgzOTYgMy4zNTUxLC0wLjY1MDgyIDYuOTk4OSwtMS4yNTYxNyAxMC45Mjc3MywtMS44MTQwMyAzLjkzMjc0LC0wLjU1NTkxIDguMDQxNSwtMS4xNTcyOSAxMi4zMzYzLC0xLjgxMjAxIGwgLTQuOTQ1NjgsMi44MTg5MSBjIDAuMDM3NiwtNC4yOTI3MyAtMC45MTk4LC03LjQ1Nzg5IC0yLjg3NDM5LC05LjQ4OTU3IC0xLjk1NDQ2LC0yLjAzMTY3IC01LjI1MjE5LC0zLjA0ODQ2IC05Ljg5NTAxLC0zLjA0ODQ2IC0yLjc5NzI1LDAgLTUuNDk5NjQsMC42NTI4MyAtOC4xMDg3NywxLjk1NDUzIC0yLjYwNzQyLDEuMzA1NiAtNC40MjczNywzLjU0ODk1IC01LjQ2MTkxLDYuNzMxODcgbCAtMTIuNjUyODQsLTMuOTcwMjcgYyAxLjUzNTE2LC01LjI1MjIgNC40NTQ5NiwtOS40Njc3OCA4Ljc2OTU0LC0xMi42NTI3NyA0LjMxMjYyLC0zLjE4MDk3IDEwLjEzMDQ5LC00Ljc3MzQ0IDE3LjQ1Mzk4LC00Ljc3MzQ0IDUuNTIxMjQsMCAxMC4zODE3MSwwLjkwMDAyIDE0LjU3OTU5LDIuNzAyMjEgNC4xOTc3NSwxLjgwMjE4IDcuMzE1NDIsNC43NTU2MSA5LjM0NTA5LDguODU4NTIgMS4xMTM3NywyLjE4Mzk2IDEuNzg2MzcsNC40MTkzNyAyLjAxMzkxLDYuNzAwMjYgMC4yMjkzNywyLjI4MDk0IDAuMzQ2Miw0Ljc2NTYyIDAuMzQ2Miw3LjQ0NjEgdiAzOC4xMzAzNyBoIC0xMi4xMzY0OCB2IC0xMy40NTc4OCBsIDIuMDExODQsMi4xODc4NiBjIC0yLjc5NzI0LDQuNDg0NjggLTYuMDYzMjMsNy43NzI1OSAtOS44MDIyNCw5Ljg2MTU3IC0zLjc0MDczLDIuMDg4OTMgLTguNDA3NDgsMy4xMzU0NCAtMTQuMDAzNzksMy4xMzU0NCBtIDIuNzU5NTIsLTExLjA0MjQ4IGMgMy4xNDM0NCwwIDUuODI4MDEsLTAuNTU1ODUgOC4wNTEzOSwtMS42Njc2IDIuMjIxNTYsLTEuMTEzODMgMy45OTYyMiwtMi40NzQ3OSA1LjMxOTU4LC00LjA4NTA4IDEuMzIzNDksLTEuNjA4MzQgMi4yMTM2MywtMy4xMjU2MSAyLjY3NDU3LC00LjU0MiAwLjcyNzksLTEuNzY0NTggMS4xMzk0LC0zLjc4NjMxIDEuMjM2NDUsLTYuMDY3MjYgMC4wOTY5LC0yLjI4MDg4IDAuMTQ2MzYsLTQuMTMwNjEgMC4xNDYzNiwtNS41NTA5IGwgNC4yNTMxNywxLjI2NTk5IGMgLTQuMTc4MSwwLjY1MDk0IC03Ljc2NDUyLDEuMjI2NTYgLTEwLjc1MzY2LDEuNzI3MTEgLTIuOTkxMDksMC40OTY1MiAtNS41NjA5MSwwLjk2NTQgLTcuNzA5MjMsMS40MDY1IC0yLjE0NjM2LDAuNDQxMSAtNC4wNDE1LDAuOTI5NzUgLTUuNjkzMjQsMS40Njc4MyAtMS42MDgyNywwLjU3MzY3IC0yLjk3MTQzLDEuMjQ2MjggLTQuMDgzMTMsMi4wMTE4NCAtMS4xMDk4NiwwLjc2NzY0IC0xLjk2MjUyLDEuNjQ5ODQgLTIuNTU5OTMsMi42NDY5MSAtMC41OTUzNCwwLjk5NSAtMC44OTAwMiwyLjE2NDEzIC0wLjg5MDAyLDMuNTA3MzMgMCwxLjUzNTE1IDAuMzgxNzIsMi44ODQyOCAxLjE1MTI1LDQuMDU1NDIgMC43Njc0NSwxLjE2OTEzIDEuODg3MDgsMi4wOTY5MiAzLjM2NDg3LDIuNzg3MzUgMS40NzU4MywwLjY5MjMyIDMuMzA1NzgsMS4wMzY1NiA1LjQ5MTU3LDEuMDM2NTYiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTI1LjUzMzk4NiwtNDcuMzY4Mjc5KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExMykiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTQiCiAgICAgICBkPSJNIDAsMCBIIDEzLjg2MDk2IFYgODQuNTQxNzQ4IEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDgxLjg2NzU4Myw3LjQyMDM1NzYpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTE1KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDExNiIKICAgICAgIGQ9Im0gODI3LjQyNTksNTA0LjA3OTUzIGMgLTUuNzE0OTYsMCAtMTAuNzAwMzEsLTEuNDM4MTcgLTE0Ljk1MzQ5LC00LjMxMjU2IC00LjI1NzA4LC0yLjg3NDMzIC03LjU1NDgxLC02Ljc4NTI4IC05Ljg5MTExLC0xMS43MzA4NCAtMi4zNDAyMSwtNC45NDk2NCAtMy41MTEyMywtMTAuNTI0MjkgLTMuNTExMjMsLTE2LjczNzg1IDAsLTYuMjg2ODcgMS4xNzg5NSwtMTEuODk1MDggMy41MzkwNiwtMTYuODIwOTIgMi4zNTU5NiwtNC45Mjc4IDUuNzAzMTMsLTguODE4OTEgMTAuMDM1NCwtMTEuNjc1NDggNC4zMzI0LC0yLjg1NDY4IDkuNDMyMjUsLTQuMjg0ODUgMTUuMjk3NzMsLTQuMjg0ODUgNS45MDI5NSwwIDEwLjg1ODUyLDEuNDMwMTcgMTQuODY2MzMsNC4yODQ4NSA0LjAwNDAzLDIuODU2NTcgNy4wNDQ2OCw2Ljc1NTYyIDkuMTE1NzMsMTEuNzA1MTQgMi4wNjkyMSw0Ljk0NTYyIDMuMTA1ODMsMTAuNTQxOTkgMy4xMDU4MywxNi43OTEyNiAwLDYuMTc0MDcgLTEuMDM2NjIsMTEuNzQyNzQgLTMuMTA1ODMsMTYuNzA4MTMgLTIuMDcxMDUsNC45NjMzOCAtNS4xNTcxMSw4Ljg4NjIzIC05LjI2MDE0LDExLjc2MDU2IC00LjEwMDgzLDIuODc0MzkgLTkuMTgyODYsNC4zMTI1NiAtMTUuMjM4MjgsNC4zMTI1NiBtIDEuMjA0NzIsMjcuNjA4MTUgYyAtMy40NDgsMCAtNi43NTU1LC0wLjUzODA4IC05LjkxODgzLC0xLjYxMjI0IC0zLjE2MzA4LC0xLjA3MjE0IC02LjAxMTcyLC0yLjYxNTIzIC04LjU0MTg3LC00LjYyOTAzIC0yLjUzMDI3LC0yLjAxMzkxIC00LjYwMTU2LC00LjQzOTE1IC02LjIwOTcxLC03LjI3NTg4IGwgMTIuNzY1MzgsLTYuMzI2NDcgYyAxLjE4ODk2LDIuMjYzMTIgMi44Njg1MywzLjk0MDY3IDUuMDMyNzEsNS4wMzI2NSAyLjE2ODIxLDEuMDkxOTggNC40Nzg2NCwxLjYzOCA2LjkzMTc2LDEuNjM4IDIuODc0MjcsMCA1LjQ0MjE0LC0wLjUwODQyIDcuNzA1MDgsLTEuNTIzMjUgMi4yNjEyMywtMS4wMTQ5IDQuMDE3ODIsLTIuNTEyNDYgNS4yNjIyMSwtNC40ODQ2OSAxLjI0NDI2LC0xLjk3ODI3IDEuODMxNzksLTQuNDM3MTMgMS43NTQ2NCwtNy4zOTA2MiB2IC0xNy42NTU3NiBoIDEuNzI2OTMgViA0NDAuMjQyIGggMTIuMTMyNjkgdiA2NS4xMDE2MyBjIDAsMS41NzQ2NCAtMC4wNjc1LDMuMDgwMTQgLTAuMTk5ODMsNC41MTYyOSAtMC4xMzQ1MiwxLjQzODE4IC0wLjM1NjA4LDIuODQ4NjQgLTAuNjYyODQsNC4yMjc0MiAtMC45MTk4LDQuMDI1NzYgLTIuNjgyMzgsNy4zMzEzNiAtNS4yODk4LDkuOTIwOSAtMi42MDkxMywyLjU4NzUyIC01LjgzNzY1LDQuNTE0MzQgLTkuNjg5MzMsNS43ODA0IC0zLjg1NTU5LDEuMjY0MDkgLTguMTE4NTMsMS44OTkwNCAtMTIuNzk5MTksMS44OTkwNCBtIDAuOTIxODcsLTQwLjAyOTQ4IGMgMy43MTcxNiwwIDYuNzE4MTQsLTAuODUyNTQgOS4wMDMwNSwtMi41NTk4MSAyLjI3Njk4LC0xLjcwNTIgMy45NDY1NCwtNC4wOTA5NCA1LjAwMDg2LC03LjE1OTE4IDEuMDU0NDQsLTMuMDY2MjkgMS41ODI1MiwtNi42MTMyOCAxLjU4MjUyLC0xMC42NDA5MyAwLC00LjA2MzI5IC0wLjUyODA4LC03LjYxODE3IC0xLjU4MjUyLC0xMC42Njg2NCAtMS4wNTQzMiwtMy4wNDY0NSAtMi42OTQzNCwtNS40MjQzMiAtNC45MTU3NywtNy4xMzE0NyAtMi4yMjc1NCwtMS43MDUyNiAtNS4xMDE5MywtMi41NTc4NiAtOC42MjcyLC0yLjU1Nzg2IC0zLjcyMTA3LDAgLTYuNzg5MTksMC45MTE5OCAtOS4yMDI3NiwyLjcyOTk4IC0yLjQxNTQxLDEuODIzOTEgLTQuMTk5NzEsNC4yNzY4NSAtNS4zNDcwNSw3LjM2MjkxIC0xLjE1MTM2LDMuMDg2MDYgLTEuNzI3MDUsNi41MDg0MyAtMS43MjcwNSwxMC4yNjUwOCAwLDMuNzk2MTQgMC41Njc3NSw3LjIzODM0IDEuNjk3MjcsMTAuMzIyMzkgMS4xMjk2NCwzLjA4ODA3IDIuODY2NTgsNS41MzMwOCA1LjIwMjc2LDcuMzMzMzEgMi4zNDAzMywxLjgwNDA4IDUuMzA5NjksMi43MDQyMiA4LjkxNTg5LDIuNzA0MjIiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTE5Ljg5MTg0MiwtNDcuMzY4Mjc5KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExNykiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTgiCiAgICAgICBkPSJNIDAsMCBIIDM2LjU5MDYzMyBWIDEwLjIyNDExMiBIIDAgWiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwxMS45ODA5MjIsMTcuNjkwMTA3KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExOSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMjAiCiAgICAgICBkPSJNIDU0OS40ODQ2Miw0NzcuNTcyMzYgSCA1MTguMDA1IHYgLTEwLjIyMzUxIGggMjYuMzY3NjggViA0NDAuOTgzIGggMTAuMjIzNjMgdiAzMS40Nzc2IGMgMCwyLjgyNDk1IC0yLjI5MDc3LDUuMTExNzYgLTUuMTExNjksNS4xMTE3NiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNTUuOTQ1OTk3LC00Ny4wNTE5NzUpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTIxKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyMiIKICAgICAgIGQ9Ik0gMCwwIEggMTAuMjI0MTEyIFYgNjIuOTYwMTA2IEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDE4Ljg1NTY5NywxMC43NzQ3MTEpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTIzKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyNCIKICAgICAgIGQ9Ik0gMCwwIEggMzYuNTkzNDg3IFYgMTAuMjI0MTEyIEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDguNDgyNTAzMyw3LjMxNjg4NDgpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTI1KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyNiIKICAgICAgIGQ9Ik0gNTE0Ljc0NDM4LDQ3Ny41NzIzNiBIIDUwNC41MTkwMSBWIDQ0Ni4wOTQ3IGMgMCwtMi44MjI4MiAyLjI5MDgzLC01LjExMTcgNS4xMTE3NiwtNS4xMTE3IGggMzEuNDgxNjYgdiAxMC4yMjM1MSBoIC0yNi4zNjgwNSB6IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC01Ny42NzU5MzEsLTQ3LjA1MTk3NSkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMjcpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTI4IgogICAgICAgZD0iTSAwLDAgSCAxMC4yMjQxMTIgViA2Mi45NjAxMDYgSCAwIFoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsNS4wNjUyMTQ4LDcuMzE2ODg0OCkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMjkpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTMwIgogICAgICAgZD0ibSA1NjguNjM4MTIsNTk1LjE1OTMgYyAtNTMuNTU2NTIsMCAtOTcuMTI5MTUsLTQzLjU3MjUxIC05Ny4xMjkxNSwtOTcuMTI5MTUgMCwtNTMuNTU2NyA0My41NzI2MywtOTcuMTI5MTUgOTcuMTI5MTUsLTk3LjEyOTE1IDUzLjU1Njc3LDAgOTcuMTI5MTUsNDMuNTcyNDUgOTcuMTI5MTUsOTcuMTI5MTUgMCw1My41NTY2NCAtNDMuNTcyMzgsOTcuMTI5MTUgLTk3LjEyOTE1LDk3LjEyOTE1IG0gMCwtMTg0LjAzNDc5IGMgLTQ3LjkxODUyLDAgLTg2LjkwMzU2LDM4Ljk4Njk0IC04Ni45MDM1Niw4Ni45MDU2NCAwLDQ3LjkyMjYxIDM4Ljk4NTA0LDg2LjkwNTY0IDg2LjkwMzU2LDg2LjkwNTY0IDQ3LjkxODgzLDAgODYuOTA1NzYsLTM4Ljk4MzAzIDg2LjkwNTc2LC04Ni45MDU2NCAwLC00Ny45MTg3IC0zOC45ODY5MywtODYuOTA1NjQgLTg2LjkwNTc2LC04Ni45MDU2NCIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNjEuOTEwMzYzLC01Mi4xOTM1MDkpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTMxKSIgLz4KICA8L2c+Cjwvc3ZnPgo=",alt:"Fraktvalg logo"})}),(0,N.jsx)(Z,{currentStep:e,steps:M.length,labels:M,setStep:g}),(0,N.jsxs)("div",{className:"max-w-5xl bg-white rounded-lg shadow p-6",children:[1===e&&(0,N.jsx)(w,{nextStep:t}),2===e&&(0,N.jsx)(U,{nextStep:t}),3===e&&(0,N.jsx)(F,{nextStep:t}),4===e&&(0,N.jsx)(G,{nextStep:t})]})]})})})}const J=document.getElementById("fraktvalg-onboarding");J&&(0,t.H)(J).render((0,N.jsx)(R,{}))})();1 (()=>{"use strict";var e={338:(e,t,g)=>{var a=g(795);t.H=a.createRoot,a.hydrateRoot},20:(e,t,g)=>{var a=g(609),s=Symbol.for("react.element"),M=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,I={key:!0,ref:!0,__self:!0,__source:!0};function r(e,t,g){var a,M={},r=null,c=null;for(a in void 0!==g&&(r=""+g),void 0!==t.key&&(r=""+t.key),void 0!==t.ref&&(c=t.ref),t)i.call(t,a)&&!I.hasOwnProperty(a)&&(M[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===M[a]&&(M[a]=t[a]);return{$$typeof:s,type:e,key:r,ref:c,props:M,_owner:l.current}}t.Fragment=M,t.jsx=r,t.jsxs=r},848:(e,t,g)=>{e.exports=g(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM}},t={};function g(a){var s=t[a];if(void 0!==s)return s.exports;var M=t[a]={exports:{}};return e[a](M,M.exports,g),M.exports}g.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return g.d(t,{a:t}),t},g.d=(e,t)=>{for(var a in t)g.o(t,a)&&!g.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},g.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var a=g(609),s=g(338);const M=window.wp.apiFetch;var i=g.n(M);const l=window.wp.i18n;function I(e){var t,g,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(g=I(e[t]))&&(a&&(a+=" "),a+=g)}else for(g in e)e[g]&&(a&&(a+=" "),a+=g);return a}function r(){for(var e,t,g=0,a="",s=arguments.length;g<s;g++)(e=arguments[g])&&(t=I(e))&&(a&&(a+=" "),a+=t);return a}var c=g(848);function C({disabled:e=!1,plain:t=!1,className:g,children:a,onClick:s=()=>{},...M}){const i=r("block w-full bg-primary text-white rounded-md p-3","hover:bg-primary/90 hover:text-white","active:bg-primary/90 active:text-white","focus:bg-primary/90 focus:text-white","disabled:bg-black/80",g);return M.href?(0,c.jsx)("a",{className:i,...M,children:a}):(0,c.jsx)("button",{onClick:s,disabled:e,className:i,...M,children:a})}function N({type:e="notice",title:t,children:g,className:a=""}){const s=r("border rounded-md p-2","success"===e?"bg-green-100 border-green-200":"","notice"===e?"bg-yellow-100 border-yellow-200":"","error"===e?"bg-red-100 border-red-200":"",a);return(0,c.jsxs)("div",{className:s,children:[(0,c.jsx)("div",{className:"text-md text-black font-semibold",children:t}),g&&(0,c.jsx)("div",{className:"text-sm text-black",children:g})]})}function n({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z",clipRule:"evenodd"}))}const A=a.forwardRef(n);function o({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z",clipRule:"evenodd"}))}const j=a.forwardRef(o);function d({nextStep:e}){const[t,g]=(0,a.useState)(""),[s,M]=(0,a.useState)(null);return(0,c.jsxs)("div",{className:"space-y-8",children:[(0,c.jsxs)("div",{children:[(0,c.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:(0,l.__)("Activate license","fraktvalg")}),(0,c.jsx)("p",{className:"mt-1 text-sm text-gray-500",children:(0,l.__)("Your license will be activated for the domain: ","fraktvalg")+window.location.host})]}),(0,c.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-5 gap-6",children:[(0,c.jsx)("div",{className:"md:col-span-3 bg-white rounded-lg border border-gra-200 p-6",children:(0,c.jsxs)("div",{className:"space-y-4",children:[(0,c.jsxs)("div",{children:[(0,c.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",htmlFor:"license",children:(0,l.__)("License key","fraktvalg")}),(0,c.jsx)("input",{type:"text",name:"license",id:"license",value:t,className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary",placeholder:(0,l.__)("Enter your license key","fraktvalg"),onChange:e=>g(e.target.value)})]}),s&&(0,c.jsx)(N,{type:s.type,title:s.title,className:"my-2",children:s.message}),(0,c.jsx)("div",{className:"w-full mt-1",children:(0,c.jsx)(C,{onClick:()=>{M(null),i()({path:"/fraktvalg/v1/settings/api-key",method:"POST",data:{api_key:t}}).then((t=>{e()})).catch((e=>{M({type:"error",title:(0,l.__)("An error was encountered when validating your API key","fraktvalg"),message:e?.message})}))},disabled:!t.length>0,children:(0,l.__)("Activate license","fraktvalg")})})]})}),(0,c.jsxs)("div",{className:"md:col-span-2 bg-tertiary/10 rounded-lg p-6 flex flex-col",children:[(0,c.jsxs)("div",{className:"flex items-center space-x-2 text-custom mb-4",children:[(0,c.jsx)(A,{className:"w-5 h-5"}),(0,c.jsx)("span",{className:"font-medium",children:(0,l.__)("Need a license?","fraktvalg")})]}),(0,c.jsx)("p",{className:"text-sm text-gray-600 mb-4",children:(0,l.__)("To use Fraktvalg you first need to register an account. It only takes a moment to get started.","fraktvalg")}),(0,c.jsxs)("a",{href:"https://Fraktvalg.no?utm_source=plugin&utm_medium=register&utm_campaign=onboarding",className:"mt-auto group inline-flex items-center text-cuistom hover:text-custom-dark font-medium",children:[(0,c.jsx)("span",{children:(0,l.__)("Register at fraktvalg.no","fraktvalg")}),(0,c.jsx)(j,{className:"ml-1 w-4 h-4"})]})]})]})]})}function u({children:e}){return(0,c.jsx)("div",{className:"w-full mt-2 bg-gray-50 rounded-lg p-5 help-content border border-gray-200 space-y-4",children:(0,c.jsx)("div",{className:"text-sm text-gray-600",children:e})})}function x({field:e,name:t,label:g,value:s=!1,callback:M,required:i=!1,children:l}){const[I,r]=(0,a.useState)(s);return(0,c.jsxs)("div",{className:"relative",children:[(0,c.jsxs)("label",{className:"inline-flex items-center cursor-pointer",children:[(0,c.jsx)("input",{name:t,type:"checkbox",checked:s,onChange:e=>{r(e.target.checked),M(e)},required:i,className:"sr-only peer"}),(0,c.jsx)("div",{className:"relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 rounded-full peer dark:bg-gray-200 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"}),(0,c.jsx)("span",{className:"ms-3 mr-2 text-sm",children:g})]}),l,e?.stateDescriptions?.enabled&&I&&(0,c.jsx)(u,{children:e?.stateDescriptions?.enabled}),e?.stateDescriptions?.disabled&&!I&&(0,c.jsx)(u,{children:e?.stateDescriptions?.disabled})]})}function D({name:e,label:t,value:g="",placeholder:a="",required:s=!1,callback:M,children:i}){return(0,c.jsxs)("div",{children:[(0,c.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,c.jsx)("input",{name:e,type:"password",value:g,onChange:M,onPaste:M,placeholder:a,required:s,className:"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary focus:border-primary sm:text-sm"}),i]})}function w({name:e,label:t,value:g="",placeholder:a="",required:s=!1,callback:M,children:i}){return(0,c.jsxs)("div",{children:[(0,c.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,c.jsx)("input",{name:e,type:"text",value:g,onChange:M,onPaste:M,placeholder:a,required:s,className:"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary focus:border-primary sm:text-sm"}),i]})}function T({name:e,label:t,value:g="",placeholder:s="",required:M=!1,callback:i,children:l,...I}){const[r,C]=(0,a.useState)(null!=g?g:0);return(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex items-center justify-between",children:[(0,c.jsx)("label",{className:"block text-sm font-medium text-gray-700",children:t}),(0,c.jsx)("input",{name:e,type:"number",value:r,onChange:i,onPaste:e=>{const t=e.clipboardData.getData("text"),g=parseInt(t,10);!isNaN(g)&&g>=0&&C(g),i(e)},placeholder:s,required:M,min:"0",className:"hidden"}),(0,c.jsxs)("div",{className:"inline-flex items-center gap-4",children:[(0,c.jsx)("button",{onClick:()=>{r>0&&C(r-1)},className:"px-2 py-1 font-mono text-lg text-gray-700 border border-gray-200 rounded-md hover:bg-gray-100",children:"-"}),(0,c.jsx)("span",{className:"text-lg font-mono font-semibold",children:r}),(0,c.jsx)("button",{onClick:()=>{C(r+1)},className:"px-2 py-1 font-mono text-lg text-gray-700 border border-gray-200 rounded-md hover:bg-gray-100",children:"+"})]})]}),l]})}function L({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"}))}const m=a.forwardRef(L);function y({includeOptional:e=!1,provider:t,fields:g,callback:s}){const[M,i]=(0,a.useState)({}),[I,r]=(0,a.useState)({}),[C,N]=(0,a.useState)(null),n=e=>{if("paste"===e.type){const g={target:{name:e.target.name,value:e.clipboardData.getData("text"),type:e.target.type}},a={...M};return"checkbox"===g.target.type?a[g.target.name]=g.target.checked:a[g.target.name]=g.target.value,i(a),s(t,a),N(g.target.name),void setTimeout((()=>{N(null)}),100)}if(C===e.target.name)return;const g={...M};"checkbox"===e.target.type?g[e.target.name]=e.target.checked:g[e.target.name]=e.target.value,i(g),s(t,g)};(0,a.useEffect)((()=>{g.forEach((e=>{e?.value&&i({...M,[e.name]:e.value})}))}),[]);const A=e=>{switch(e.type){case"boolean":return(0,c.jsx)(x,{name:e.name,label:e.label,value:M?.[e.name],callback:n,required:e.required,field:e,children:(0,c.jsx)(c.Fragment,{children:e?.description&&(0,c.jsx)(u,{children:e?.description})})});case"password":return(0,c.jsx)(D,{name:e.name,label:e.label,value:M?.[e.name],placeholder:e.placeholder,callback:n,required:e.required,field:e,children:(0,c.jsx)(c.Fragment,{children:e?.description&&(0,c.jsx)(u,{children:e?.description})})});case"number":return(0,c.jsx)(T,{name:e.name,label:e.label,value:M?.[e.name],placeholder:e.placeholder,callback:n,required:e.required,field:e,children:(0,c.jsx)(c.Fragment,{children:e?.description&&(0,c.jsx)(u,{children:e?.description})})});default:return(0,c.jsx)(w,{name:e.name,label:e.label,value:M?.[e.name],placeholder:e.placeholder,callback:n,required:e.required,field:e,children:(0,c.jsx)(c.Fragment,{children:e?.description&&(0,c.jsx)(u,{children:e?.description})})})}};return(0,c.jsx)(c.Fragment,{children:g.flatMap(((t,g)=>t?.optional&&!e?[]:(0,c.jsxs)("div",{children:[A(t),t?.help&&(0,c.jsxs)("div",{className:"mt-2",children:[(0,c.jsxs)("button",{type:"button",className:"text-sm text-custom hover:text-custom-dark flex items-center cursor-pointer help-toggle",onClick:()=>{return e=t.name,void r((t=>({...t,[e]:!t[e]})));var e},children:[(0,c.jsx)(m,{className:"w-5 h-5 mr-1"}),(0,c.jsx)("span",{children:t?.help?.label||(0,l.__)("Help","fraktvalg")})]}),I[t.name]&&(0,c.jsxs)(u,{children:[(0,c.jsx)("p",{children:t?.help?.text}),t?.help?.url?.link&&(0,c.jsx)("div",{className:"mt-3",children:(0,c.jsxs)("a",{href:t?.help?.url?.link,target:"_blank",className:"inline-flex items-center text-custom hover:text-custom-dark font-medium",children:[(0,c.jsx)("span",{children:t?.help?.url?.label}),(0,c.jsx)(j,{className:"ml-1 w-4 h-4"})]})})]})]})]},g)))})}function z({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M11.47 7.72a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06L12 9.31l-6.97 6.97a.75.75 0 0 1-1.06-1.06l7.5-7.5Z",clipRule:"evenodd"}))}const p=a.forwardRef(z);function h({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z",clipRule:"evenodd"}))}const k=a.forwardRef(h);function b({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z",clipRule:"evenodd"}))}const O=a.forwardRef(b);function E({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"}))}const S=a.forwardRef(E);function Y({logo:e=null,...t}){const{alt:g=""}=t;return e?e.startsWith("http")||e.startsWith("data:image")?(0,c.jsx)("img",{src:e,alt:g,...t}):(e.startsWith("https")||(e=encodeURIComponent(e)),(0,c.jsx)("img",{src:"data:image/svg+xml;utf8,"+e,alt:g,...t})):(0,c.jsx)(S,{...t})}function v({supplierId:e,supplier:t,title:g,content:s,isConnected:M=!1,visible:i=!0,classNames:I="",innerClassNames:C=""}){const[N,n]=(0,a.useState)(i),A=r("border bg-white rounded-md",I),o=r("border-t-2 border-gray-100 p-4",C);return(0,c.jsxs)("div",{className:A,children:[(0,c.jsx)("button",{className:"flex w-full p-4 items-center justify-between",onClick:()=>n(!N),children:(0,c.jsx)("h2",{className:"text-lg font-bold w-full",children:(0,c.jsxs)("div",{className:"flex item-center justify-between focus:outline-none w-full",children:[(0,c.jsxs)("div",{className:"flex",children:[t?.logo&&(0,c.jsx)("div",{children:(0,c.jsx)(Y,{logo:t?.logo,alt:g,className:"w-8 h-8 mr-2"})}),(0,c.jsx)("div",{className:"inline-flex items-center gap-4",children:(0,c.jsx)("span",{children:g})})]}),(0,c.jsxs)("div",{className:"flex items-center gap-4",children:[M&&(0,c.jsx)("div",{className:"px-3 py-1 text-sm rounded-full bg-green-100 text-green-600",children:(0,l.__)("Connected","fraktvalg")}),!M&&(0,c.jsx)("div",{className:"px-3 py-1 text-sm rounded-full bg-red-100 text-red-600",children:(0,l.__)("Disconnected","fraktvalg")}),N?(0,c.jsx)(p,{className:"h-6 w-6 text-gray-600"}):(0,c.jsx)(k,{className:"h-6 w-6 text-gray-600"})]})]})})}),N&&(0,c.jsx)("div",{className:o,children:s})]})}function f({nextStep:e}){const[t,g]=(0,a.useState)({}),[s,M]=(0,a.useState)(null),[I,r]=(0,a.useState)(!0),[N,n]=(0,a.useState)(null),[A,o]=(0,a.useState)(""),[j,d]=(0,a.useState)([]),[u,x]=(0,a.useState)({}),D=(e,t)=>{x({...u,[e]:t})};return(0,a.useEffect)((()=>{M(null),i()({path:"fraktvalg/v1/settings/providers",method:"GET"}).then((e=>{g(e?.data||{})})).catch((e=>{M(e?.message)})).then((()=>{r(!1)}))}),[]),I?(0,c.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,c.jsx)(O,{className:"h-8 w-8 animate-spin text-primary"}),(0,c.jsx)("div",{className:"text-lg",children:"Fetching available providers..."})]}):(0,c.jsxs)("div",{className:"grid grid-cols-1 gap-3",children:[(0,c.jsx)("span",{className:"text-xl",children:"Nesten ferdig, vi trenger å vite hvilke fraktleverandører du har en avtale med."}),s&&(0,c.jsxs)("div",{className:"bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative mb-4",role:"alert",children:[(0,c.jsxs)("strong",{className:"font-bold",children:[(0,l.__)("Error:","fraktvalg")," "]}),(0,c.jsx)("span",{className:"block sm:inline",children:s})]}),Object.keys(t).map((e=>(0,c.jsx)(v,{title:t[e]?.name,supplierId:e,supplier:t[e],visible:!1,isConnected:j.includes(e),content:(0,c.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[A===e&&(0,c.jsxs)("div",{className:"absolute w-full h-full top-0 left-0 bg-white flex flex-col justify-center items-center gap-2",children:[(0,c.jsx)(O,{className:"h-6 w-6 animate-spin text-primary"}),(0,c.jsx)("span",{children:(0,l.__)("Connecting provider, one moment please...","fraktvalg")})]}),(0,c.jsx)(y,{provider:e,fields:t[e]?.fields||[],callback:D}),(0,c.jsx)(C,{type:"button",onClick:()=>(e=>{o(e),M(null),i()({path:"fraktvalg/v1/settings/providers/store",method:"POST",data:{providerId:e,fieldValues:u[e]}}).then((t=>{o(""),d([...j,e])})).catch((e=>{console.error(e),M(e?.message||(0,l.__)("Failed to connect to provider","fraktvalg")),o("")}))})(e),children:(0,l.__)("Connect to this provider","fraktvalg")})]})},e))),(0,c.jsx)(C,{type:"button",onClick:e,children:(0,l.__)("Next step","fraktvalg")})]})}function U({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",clipRule:"evenodd"}))}const Q=a.forwardRef(U);function G({nextStep:e}){return(0,c.jsxs)("div",{className:"flex flex-col justify-center items-center gap-4",children:[(0,c.jsx)("div",{children:(0,c.jsx)(Q,{className:"w-20 h-20 text-primary"})}),(0,c.jsx)("span",{className:"text-2xl text-center",children:(0,l.__)("Fraktvalg is now set up and ready to use.","fraktvalg")}),(0,c.jsx)(C,{onClick:()=>e(),children:(0,l.__)("Finish setup","fraktvalg")})]})}function B({current:e=!1,future:t=!1,past:g=!1,setStep:a=null,label:s=null,step:M}){const i="flex items-center justify-center w-8 h-8 border-2 border-gray-300 bg-white rounded-full shrink-0"+(e?" border-primary text-primary":"")+(g?" border-primary/80 text-primary/90":""),l="flex items-center text-custom space-x-2.5"+(null!==a&&!0===g?" cursor-pointer":"");return(0,c.jsxs)("li",{className:l,onClick:()=>{!0===g&&null!==a&&a(M)},children:[(0,c.jsx)("span",{className:i,children:(0,c.jsx)("span",{className:"font-medium",children:e?(0,c.jsx)("strong",{children:M}):M})}),s&&(0,c.jsx)("span",{children:(0,c.jsx)("div",{className:"font-medium leading-tight",children:e?(0,c.jsx)("strong",{children:s}):s})})]})}function Z({currentStep:e,steps:t,labels:g,setStep:a=null,...s}){return(0,c.jsxs)("div",{className:"mb-10",children:[(0,c.jsxs)("span",{className:"sr-only",children:["Step ",e," of ",t]}),(0,c.jsx)("ol",{className:"items-center w-full space-y-4 sm:flex sm:space-x-8 sm:space-y-0 sm:justify-center max-w-2xl mx-auto",children:[...Array(t)].map(((t,s)=>(0,c.jsx)(B,{current:s+1===e,past:s+1<e,future:s+1>e,setStep:a,step:s+1,label:g[s]},s)))})]})}function X({title:e,children:t,open:g=!1}){const[s,M]=(0,a.useState)(g||!1);return(0,c.jsxs)("div",{className:"border bg-white rounded-md",children:[(0,c.jsxs)("button",{className:"w-full flex p-4 justify-between",onClick:()=>M(!s),children:[(0,c.jsx)("h2",{className:"text-lg text-left font-bold w-full",children:e}),(0,c.jsx)("div",{className:"relative inline-block",children:s?(0,c.jsx)(p,{className:"h-6 w-6 text-primary"}):(0,c.jsx)(k,{className:"h-6 w-6 text-primary"})})]}),s&&(0,c.jsx)("div",{className:"p-4",children:t})]})}function F({nextStep:e}){const[t,g]=(0,a.useState)(null),[s,M]=(0,a.useState)(!1),[I,r]=(0,a.useState)({freight:{addedCost:0,addedCostType:"fixed",custom:{name:(0,l.__)("Shipping & handling","fraktvalg"),price:100,type:"fixed"}},useProduction:!0,names:[]}),n=e=>{switch(e.target.name){case"freight[addedCost]":r({...I,freight:{...I.freight,addedCost:e.target.value}});break;case"freight[addedCostType]":r({...I,freight:{...I.freight,addedCostType:e.target.value}});break;case"freight[custom][name]":r({...I,freight:{...I.freight,custom:{...I.freight.custom,name:e.target.value}}});break;case"freight[custom][price]":r({...I,freight:{...I.freight,custom:{...I.freight.custom,price:e.target.value}}});break;case"freight[custom][type]":r({...I,freight:{...I.freight,custom:{...I.freight.custom,type:e.target.value}}});break;case"useProduction":r({...I,useProduction:e.target.checked});break;default:r({...I,[e.target.name]:e.target.value})}};return(0,c.jsxs)("div",{className:"grid grid-cols-1 gap-3",children:[(0,c.jsx)("span",{className:"text-xl",children:(0,l.__)("Almost there! Are there any optional settings you would like to change?","fraktvalg")}),(0,c.jsx)(X,{title:(0,l.__)("Backup shipping option","fraktvalg"),open:!0,children:(0,c.jsxs)("div",{className:"relative grid grid-cols-1 gap-4",children:[(0,c.jsx)("p",{children:(0,l.__)("If Fraktvalg should ever become unavailable, or no shiopping options are returned, returns this shipping alternative by default.","fraktvalg")}),(0,c.jsxs)("div",{className:"mt-2 grid grid-cols-1 gap-4",children:[(0,c.jsx)(w,{label:(0,l.__)("Shipping option name","fraktvalg"),name:"freight[custom][name]",value:I.freight.custom.name,callback:n}),(0,c.jsxs)("div",{className:"flex items-center gap-3",children:[(0,c.jsx)("input",{name:"freight[custom][price]",value:I.freight.custom.price,onChange:n,type:"number",min:"0",step:"1",placeholder:"25",className:"w-16 border border-gray-300 rounded-md p-2"}),(0,c.jsxs)("select",{name:"freight[custom][type]",className:"border border-gray-300 rounded-md p-2",value:I.freight.custom.type,onChange:n,children:[(0,c.jsx)("option",{value:"percent",children:"%"}),(0,c.jsx)("option",{value:"fixed",children:"NOK"})]}),(0,c.jsxs)("div",{children:[(0,c.jsx)("label",{htmlFor:"something",children:(0,l.__)("Backup shipping cost","fraktvalg")}),(0,c.jsx)("p",{className:"text-xs italic",children:(0,l.__)("The backup shipping cost can be set to either a fixed value, or a percentage of the order total.","fraktvalg")})]})]})]})]})}),(0,c.jsxs)(X,{title:(0,l.__)("Shipping cost adjustments","fraktvalg"),children:[(0,l.__)("Safeguard your shipping costs with these optional alternatives.","fraktvalg"),(0,c.jsxs)("div",{className:"flex items-center gap-3",children:[(0,c.jsx)("input",{name:"freight[addedCost]",value:I.freight.addedCost,onChange:n,type:"number",min:"0",step:"1",placeholder:"10",className:"w-16 border border-gray-300 rounded-md p-2"}),(0,c.jsxs)("select",{name:"freight[addedCostType]",className:"border border-gray-300 rounded-md p-2",value:I.freight.addedCostType,onChange:n,children:[(0,c.jsx)("option",{value:"percent",children:"%"}),(0,c.jsx)("option",{value:"fixed",children:"NOK"})]}),(0,c.jsxs)("div",{children:[(0,c.jsx)("label",{htmlFor:"something",children:(0,l.__)("Add an optional surcharge to all shipping options","fraktvalg")}),(0,c.jsx)("p",{className:"text-xs italic",children:(0,l.__)("Additional shipping surcharges are meant to cover administrative- and handling costs, and is automatically added to all shipping alternatives.","fraktvalg")})]})]})]}),(0,c.jsxs)(X,{title:(0,l.__)("Shop environment","fraktvalg"),open:!1,children:[(0,c.jsx)("p",{children:(0,l.__)("Some times, you wish to use the shipping providers test environments, for example on a staging site. Doing so will not create legitimate shipping requests, and prevents yo ufrom incurring charges while testing your store setup.","fraktvalg")}),(0,c.jsx)("div",{className:"mt-2 grid grid-cols-1 gap-4",children:(0,c.jsx)(x,{label:(0,l.__)("Use production environments","fraktvalg"),name:"useProduction",value:I.useProduction,callback:n})})]}),t&&(0,c.jsx)(N,{type:t.type,title:t.title,children:t.message}),(0,c.jsx)(C,{type:"button",onClick:()=>{g(null),M(!1),i()({path:"/fraktvalg/v1/settings/optional-settings",method:"POST",data:{options:I}}).then((e=>{g({type:e?.type,title:e?.title,message:e?.message}),M(!0)})).catch((e=>{g({type:"error",title:(0,l.__)("Error saving optional settings","fraktvalg"),message:e?.message})}))},children:(0,l.__)("Save optional settings","fraktvalg")}),s&&(0,c.jsx)(C,{type:"button",onClick:e,children:(0,l.__)("Finish setup","fraktvalg")})]})}function R({title:e,titleId:t,...g},s){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:s,"aria-labelledby":t},g),e?a.createElement("title",{id:t},e):null,a.createElement("path",{d:"M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-8.4 8.4a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32l8.4-8.4Z"}),a.createElement("path",{d:"M5.25 5.25a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h10.5a3 3 0 0 0 3-3V13.5a.75.75 0 0 0-1.5 0v5.25a1.5 1.5 0 0 1-1.5 1.5H5.25a1.5 1.5 0 0 1-1.5-1.5V8.25a1.5 1.5 0 0 1 1.5-1.5h5.25a.75.75 0 0 0 0-1.5H5.25Z"}))}const _=a.forwardRef(R);function P({nextStep:e}){const[t,g]=(0,a.useState)(!0),[s,M]=(0,a.useState)({}),[I,r]=(0,a.useState)({cart:!1,checkout:!1}),[N,n]=(0,a.useState)({cart:!1,checkout:!1}),[A,o]=(0,a.useState)({cart:!1,checkout:!1});(0,a.useEffect)((()=>{j()}),[]);const j=async()=>{try{const e=await i()({path:"/fraktvalg/v1/onboarding/theme-status",method:"GET"});M(e),g(!1)}catch(e){console.error("Error checking theme status:",e),g(!1)}},d=async(e,t)=>{if("create"===t){n((t=>({...t,[e]:!0})));try{await i()({path:"/fraktvalg/v1/onboarding/create-template",method:"POST",data:{template:e}}),await j(),o((t=>({...t,[e]:!0})))}catch(e){console.error("Error creating template:",e)}finally{n((t=>({...t,[e]:!1})))}}else if("edit"===t){const t=s.urls[e];t&&(window.open(t,"_blank"),r((t=>({...t,[e]:!0}))))}};return t?(0,c.jsxs)("div",{className:"flex flex-col justify-center items-center h-64",children:[(0,c.jsx)(O,{className:"h-8 w-8 animate-spin text-primary"}),(0,c.jsx)("div",{className:"text-lg",children:(0,l.__)("Checking which templates are in use on this site...","fraktvalg")})]}):(0,c.jsxs)("div",{className:"grid grid-cols-1 gap-6 p-6",children:[(0,c.jsxs)("div",{className:"text-center",children:[(0,c.jsx)("h2",{className:"text-xl font-semibold mb-4",children:(0,l.__)("Template Configuration","fraktvalg")}),(0,c.jsx)("p",{className:"text-gray-600 mb-6",children:(()=>{switch((()=>{const{isBlockCartTemplate:e,isBlockCheckoutTemplate:t}=s;return e&&t?"all-blocks":e||t?"mixed":"classic"})()){case"all-blocks":return(0,l.__)("Your theme uses block templates. Choose how you want to add the Fraktvalg block to your templates:","fraktvalg");case"mixed":return(0,l.__)("Your theme uses a mix of block and classic templates. You can configure the block templates below:","fraktvalg");default:return(0,l.__)("Your theme does not use block templates. You can proceed to the next step without configuring any templates.","fraktvalg")}})()})]}),s.urls&&(s.isBlockCartTemplate&&void 0!==s.urls.cart||s.isBlockCheckoutTemplate&&void 0!==s.urls.checkout)&&(0,c.jsxs)("ul",{className:"space-y-4",children:[void 0!==s.urls.cart&&s.isBlockCartTemplate&&(0,c.jsxs)("li",{className:"flex flex-col p-4 bg-white rounded-lg shadow-sm border",children:[(0,c.jsx)("div",{className:"flex items-center justify-between mb-4",children:(0,c.jsxs)("div",{className:"flex items-center",children:[(0,c.jsx)("span",{className:"font-medium",children:(0,l.__)("Cart Template","fraktvalg")}),I.cart&&(0,c.jsx)(Q,{className:"h-5 w-5 text-green-500 ml-2"})]})}),(0,c.jsxs)("div",{className:"flex gap-4",children:[(0,c.jsx)("button",{onClick:()=>d("cart","create"),disabled:N.cart||A.cart,className:"flex-1 px-4 py-2 bg-primary text-white rounded hover:bg-primary-dark transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:N.cart?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(O,{className:"h-4 w-4 animate-spin inline mr-2"}),(0,l.__)("Creating...","fraktvalg")]}):A.cart?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Q,{className:"h-4 w-4 inline mr-2"}),(0,l.__)("Block Auto-added","fraktvalg")]}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Q,{className:"h-4 w-4 inline mr-2"}),(0,l.__)("Auto-add Block","fraktvalg")]})}),(0,c.jsxs)("button",{onClick:()=>d("cart","edit"),className:"flex-1 px-4 py-2 bg-white text-primary border border-primary rounded hover:bg-gray-50 transition-colors",children:[(0,c.jsx)(_,{className:"h-4 w-4 inline mr-2"}),(0,l.__)("Customize Manually","fraktvalg")]})]})]}),void 0!==s.urls.checkout&&s.isBlockCheckoutTemplate&&(0,c.jsxs)("li",{className:"flex flex-col p-4 bg-white rounded-lg shadow-sm border",children:[(0,c.jsx)("div",{className:"flex items-center justify-between mb-4",children:(0,c.jsxs)("div",{className:"flex items-center",children:[(0,c.jsx)("span",{className:"font-medium",children:(0,l.__)("Checkout Template","fraktvalg")}),I.checkout&&(0,c.jsx)(Q,{className:"h-5 w-5 text-green-500 ml-2"})]})}),(0,c.jsxs)("div",{className:"flex gap-4",children:[(0,c.jsx)("button",{onClick:()=>d("checkout","create"),disabled:N.checkout||A.checkout,className:"flex-1 px-4 py-2 bg-primary text-white rounded hover:bg-primary-dark transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:N.checkout?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(O,{className:"h-4 w-4 animate-spin inline mr-2"}),(0,l.__)("Creating...","fraktvalg")]}):A.checkout?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Q,{className:"h-4 w-4 inline mr-2"}),(0,l.__)("Block Auto-added","fraktvalg")]}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Q,{className:"h-4 w-4 inline mr-2"}),(0,l.__)("Auto-add Block","fraktvalg")]})}),(0,c.jsxs)("button",{onClick:()=>d("checkout","edit"),className:"flex-1 px-4 py-2 bg-white text-primary border border-primary rounded hover:bg-gray-50 transition-colors",children:[(0,c.jsx)(_,{className:"h-4 w-4 inline mr-2"}),(0,l.__)("Customize Manually","fraktvalg")]})]})]})]}),(0,c.jsx)(C,{type:"button",onClick:e,children:(0,l.__)("Next step","fraktvalg")})]})}function J(){const[e,t]=(0,a.useState)(1),g=[(0,l.__)("License","fraktvalg"),(0,l.__)("Providers","fraktvalg"),(0,l.__)("Templates","fraktvalg"),(0,l.__)("Settings","fraktvalg"),(0,l.__)("Finished","fraktvalg")];e>g.length&&i()({path:"/fraktvalg/v1/onboarding/complete",method:"POST"}).then((()=>{window.location.href="index.php"}));const s=()=>{t(e+1)};return(0,c.jsx)("div",{className:"top-0 left-0 w-full",children:(0,c.jsx)("div",{className:"flex justify-center p-8 mt-16",children:(0,c.jsxs)("div",{className:"grid gap-8",children:[(0,c.jsx)("div",{className:"m-auto",children:(0,c.jsx)("img",{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMzUwIgogICBoZWlnaHQ9Ijk2LjI3NzM1OSIKICAgdmlld0JveD0iMCAwIDkyLjYwNDE1NiAyNS40NzMzODEiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzEiCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczEiPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEwMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTI1Mi4zNDE1NiwtNjkuNTExNzIxKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEwMSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTAzIj4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMjgwLjk3OTcxLC03OS41OTE4MDIpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTAzIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMDUiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC0zMDAuNTQ2MzgsLTc4Ljg5NjQ4NCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMDUiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEwNyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTMzMi42ODExOCwtNjkuNTExNzIxKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEwNyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTA5Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMzYzLjIyNDYzLC03MS4yMTg3NTIpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTA5IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMTEiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC0zODIuODQ4MTYsLTc5Ljc0OTk5OSkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMTEiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDExMyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTQxMi41OTQ3NCwtNzguODk2NDg0KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDExMyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTE1Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTIzMS42MzE5LC00OTYuNzEwOTYpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTE1IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMTciPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC00NTUuNjIxMzQsLTc4Ljg5NjQ4NCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMTciIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDExOSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTY5OC42ODA4OSwtNTc1LjAyNzM2KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDExOSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTIxIj4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTgwLjY3NDc4LC04MS4zMDg1OTcpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTIxIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMjMiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC03NTEuMTA3NDcsLTUyMi4yOTEwNCkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMjMiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEyNSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTY3Mi4wMDIxOSwtNDk1LjkyMTg5KSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEyNSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoMTI3Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAwLDAgSCA3NjgwIFYgNDMyMCBIIDAgWiIKICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNTAwMDAwMSwwLDAsMC4yNTAwMDAwMSwtMTY3LjQ4MjQzLC04MS4zMDg1OTcpIgogICAgICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgIGlkPSJwYXRoMTI3IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGgxMjkiPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCBIIDc2ODAgViA0MzIwIEggMCBaIgogICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjI1MDAwMDAxLDAsMCwwLjI1MDAwMDAxLC02NDUuOTQyMTcsLTQ5NS45MjE4OSkiCiAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgaWQ9InBhdGgxMjkiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDEzMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIEggNzY4MCBWIDQzMjAgSCAwIFoiCiAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMjUwMDAwMDEsMCwwLDAuMjUwMDAwMDEsLTEzNS4xOTA5NSwtNDIuMDk5NjExKSIKICAgICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgICBpZD0icGF0aDEzMSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4MDY4NDUsLTAuMzc3MjQwNDgpIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwMCIKICAgICAgIGQ9Im0gNTkxLjI2NjYsNTExLjczOTE3IHYgLTgyLjgxNTMxIGggNDkuODYxNDUgdiAxMy44NTgxNSBoIC0zNi4wMDA0OSB2IDIwLjY0Njc5IGggMzYuMDAwNDkgdiAxMy44MDI2MSBoIC0zNi4wMDA0OSB2IDM0LjUwNzc2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTQ2LjU0ODIyNiwtNDguNTk4OTE1KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDEwMSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMDIiCiAgICAgICBkPSJtIDYyMC41NDE5OSw1MDEuNjU5MTUgdiAtNjIuMTEyNDkgaCAxMi4yNTEyMiB2IDE1LjEyNTYxIGwgLTEuNDk5NTEsLTEuOTU0NTMgYyAwLjc3MTYxLC0yLjA3MTIzIDEuNzk0MTksLTMuOTU4NDkgMy4wODAyLC01LjY2MzY5IDEuMjg1ODksLTEuNzA1MjYgMi44MjY5MSwtMy4xMTc2OCA0LjYyOTAzLC00LjIyOTQzIDEuNTM1MTYsLTEuMDM0NjEgMy4yMjgzOSwtMS44NDk2NyA1LjA4OTk3LC0yLjQ0MzEyIDEuODU5NjEsLTAuNTkxNDkgMy43Njg1NSwtMC45NTc0NiA1LjcyNDk3LC0xLjA5MTk4IDEuOTU0NTksLTAuMTM0NTIgMy44NDk3MywtMC4wNDk0IDUuNjg5NDUsMC4yNTcxNCB2IDEyLjk0MTU5IGMgLTEuODM5NzIsLTAuNTM4MDkgLTMuOTU2NTQsLTAuNzEwMiAtNi4zNTIxNywtMC41MTgzMSAtMi4zOTk0MSwwLjE5IC00LjU1MzgzLDAuODYyNTUgLTYuNDcwODIsMi4wMTM4NiAtMS45MTY3NSwxLjAzMjcxIC0zLjQ3OTYyLDIuMzU2MDcgLTQuNjg2MjgsMy45NjYzIC0xLjIwODc0LDEuNjEyMzEgLTIuMTAyOTEsMy40NDQyMiAtMi42NzQ2OSw1LjQ5NTU1IC0wLjU3NTU2LDIuMDQ5NTYgLTAuODY0MzgsNC4yNjMxOCAtMC44NjQzOCw2LjYzODk4IHYgMzEuNTc0NTIgeiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNDIuNzkyODYzLC00Ny4yNzcxMDEpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTAzKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwNCIKICAgICAgIGQ9Im0gNjYxLjM2Mjc5LDUwNC4wODE0OCBjIC00LjQ4NjU3LDAgLTguMjgyODMsLTAuODU0NjEgLTExLjM5MDUsLTIuNTU5ODEgLTMuMTAxOTMsLTEuNzA1MiAtNS40NTQxLC0zLjk3ODIxIC03LjA0MjYsLTYuODE1IC0xLjU5MjQxLC0yLjgzNjc0IC0yLjM4NTc0LC01Ljk2MjQxIC0yLjM4NTc0LC05LjM3NDg4IDAsLTIuOTkwOTcgMC40OTY1OCwtNS42ODM0MSAxLjQ5MTU3LC04LjA4MTA2IDAuOTk5MDMsLTIuMzk1NjMgMi41MzQxOCwtNC40NjQ4NCA0LjYwMTU2LC02LjIxMTYxIDIuMDczLC0xLjc0Mjg2IDQuNzU1NSwtMy4xNjkxMiA4LjA1MzIzLC00LjI4Mjg5IDIuNDkyNTUsLTAuODA1MTIgNS40MTYzOCwtMS41MzMwOSA4Ljc2OTQxLC0yLjE4Mzk2IDMuMzU3MTcsLTAuNjUwODIgNi45OTkxNCwtMS4yNTYxNyAxMC45Mjc4NSwtMS44MTQwMyAzLjkzMjc0LC0wLjU1NTkxIDguMDQzNTgsLTEuMTU3MjkgMTIuMzM2MzEsLTEuODEyMDEgbCAtNC45NDU2OCwyLjgxODkxIGMgMC4wMzc2LC00LjI5MjczIC0wLjkxOTkyLC03LjQ1Nzg5IC0yLjg3NDI3LC05LjQ4OTU3IC0xLjk1NDU5LC0yLjAzMTY3IC01LjI1MjIsLTMuMDQ4NDYgLTkuODkzMTksLTMuMDQ4NDYgLTIuNzk5MTksMCAtNS41MDE0NiwwLjY1MjgzIC04LjExMDg0LDEuOTU0NTMgLTIuNjA3MTgsMS4zMDU2IC00LjQyNzI0LDMuNTQ4OTUgLTUuNDYxNzksNi43MzE4NyBsIC0xMi42NTA4OCwtMy45NzAyNyBjIDEuNTMzMiwtNS4yNTIyIDQuNDU1MDgsLTkuNDY3NzggOC43Njk1MywtMTIuNjUyNzcgNC4zMTA1NSwtMy4xODA5NyAxMC4xMzA2MiwtNC43NzM0NCAxNy40NTM5OCwtNC43NzM0NCA1LjUyMTI0LDAgMTAuMzgxODQsMC45MDAwMiAxNC41Nzk1OSwyLjcwMjIxIDQuMTk3NzYsMS44MDIxOCA3LjMxMzQ4LDQuNzU1NjEgOS4zNDUyMiw4Ljg1ODUyIDEuMTExNjksMi4xODM5NiAxLjc4NDE4LDQuNDE5MzcgMi4wMTE3Miw2LjcwMDI2IDAuMjMxNTYsMi4yODA5NCAwLjM0ODI2LDQuNzY1NjIgMC4zNDgyNiw3LjQ0NjEgdiAzOC4xMzAzNyBIIDY4My4xNTcxIHYgLTEzLjQ1Nzg4IGwgMi4wMTM5MiwyLjE4Nzg2IGMgLTIuNzk5MzIsNC40ODQ2OCAtNi4wNjU0Myw3Ljc3MjU5IC05LjgwNDIsOS44NjE1NyAtMy43Mzg3NywyLjA4ODkzIC04LjQwNzU5LDMuMTM1NDQgLTE0LjAwNDAzLDMuMTM1NDQgbSAyLjc1OTc3LC0xMS4wNDI0OCBjIDMuMTQzNDMsMCA1LjgyNzg4LC0wLjU1NTg1IDguMDUxNTEsLTEuNjY3NiAyLjIyMzM5LC0xLjExMzgzIDMuOTk1ODUsLTIuNDc0NzkgNS4zMTkyMiwtNC4wODUwOCAxLjMyMzQ4LC0xLjYwODM0IDIuMjEzNzQsLTMuMTI1NjEgMi42NzY2MywtNC41NDIgMC43MjYwOCwtMS43NjQ1OCAxLjEzNzU4LC0zLjc4NjMxIDEuMjM0MzgsLTYuMDY3MjYgMC4wOTY5LC0yLjI4MDg4IDAuMTQ2NDgsLTQuMTMwNjEgMC4xNDY0OCwtNS41NTA5IGwgNC4yNTMwNSwxLjI2NTk5IGMgLTQuMTc3OTgsMC42NTA5NCAtNy43NjQ1MiwxLjIyNjU2IC0xMC43NTM1NCwxLjcyNzExIC0yLjk5MTIxLDAuNDk2NTIgLTUuNTYwNzksMC45NjU0IC03LjcwNzI3LDEuNDA2NSAtMi4xNDgzMiwwLjQ0MTEgLTQuMDQzNDYsMC45Mjk3NSAtNS42OTMyNCwxLjQ2NzgzIC0xLjYxMDM1LDAuNTczNjcgLTIuOTcxNDQsMS4yNDYyOCAtNC4wODUwOCwyLjAxMTg0IC0xLjExMTcsMC43Njc2NCAtMS45NjI0MSwxLjY0OTg0IC0yLjU1Nzg2LDIuNjQ2OTEgLTAuNTk3NDIsMC45OTUgLTAuODkyMjIsMi4xNjQxMyAtMC44OTIyMiwzLjUwNzMzIDAsMS41MzUxNSAwLjM4Mzc5LDIuODg0MjggMS4xNTEzNyw0LjA1NTQyIDAuNzY3NTgsMS4xNjkxMyAxLjg4NzIxLDIuMDk2OTIgMy4zNjQ5OSwyLjc4NzM1IDEuNDc1NzEsMC42OTIzMiAzLjMwNzYyLDEuMDM2NTYgNS40OTE1OCwxLjAzNjU2IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC00MC4yMjcwNTQsLTQ3LjM2ODI3OSkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMDUpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTA2IgogICAgICAgZD0ibSA2NzMuMzkzOTIsNTExLjczOTE3IDAuMTE0MDEsLTgyLjgxNTMxIGggMTQuMDM2MjYgdiA1MC42MDk0MyBsIDIyLjcxNDk3LC0yOS45MDcwNCBoIDE3LjMxMDkxIGwgLTI0LjA5NjgsMzEuMDU3ODYgMjYuMTY3OTcsMzEuMDU1MDYgaCAtMTguMzQ3OTEgbCAtMjMuNzQ5MTQsLTI5LjkwNjk5IHYgMjkuOTA2OTkgeiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtMzYuMDEzMTY5LC00OC41OTg5MTUpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTA3KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEwOCIKICAgICAgIGQ9Im0gNzA5LjQ0OTg5LDQ0Ny45MjAxNCBoIDI3LjIwMjUxIHYgMTAuODcwNDIgaCAtMjcuMjAyNTEgeiBtIDI3LjIwMjUxLDYyLjExMjQ4IGMgLTQuMTA0NzMsMC43NjU2OSAtOC4xMTg1MywxLjEwMTg3IC0xMi4wNDkzMSwxLjAwODk4IC0zLjkyODgzLC0wLjEwMDk2IC03LjQ1MDA3LC0wLjgyNzAzIC0xMC41NTE4OCwtMi4xODc5OSAtMy4xMDc3OSwtMS4zNTkwMSAtNS40NjU5NCwtMy41MTczNCAtNy4wNzQyMiwtNi40NzA3NyAtMS40MjAyOSwtMi42ODI1NSAtMi4xNjgwOSwtNS40MjIzNiAtMi4yNDMyOSwtOC4yMjM1NyAtMC4wNzkyLC0yLjc5OTEzIC0wLjExNjgyLC01Ljk1ODM3IC0wLjExNjgyLC05LjQ4NzU1IFYgNDMwLjY2OCBoIDEzLjgwMjM3IHYgNTMuMTk2NTkgYyAwLDIuNDkyNTYgMC4wMjk3LDQuNjgwNTUgMC4wODY5LDYuNTU3ODYgMC4wNTk2LDEuODc5MzQgMC40NDkxLDMuNDEyNDggMS4xODA5MSw0LjYwMTM4IDEuMzc4OTEsMi4yOTg3MSAzLjU4MjY0LDMuNTg0NDggNi42MTM0MSwzLjg1MzU4IDMuMDI4NTYsMC4yNjUwOCA2LjQ3ODc2LDAuMTEyNzMgMTAuMzUxOTIsLTAuNDYwOTQgdiAxMS42MTYxNSB6IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC0zMi4wMDc5NiwtNDguMzc1MDcpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTA5KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDExMCIKICAgICAgIGQ9Im0gNzQ3LjIyMDAzLDUwMS41MDE5MiAtMjIuNTQyODQsLTYyLjExMjkxIGggMTMuODYxMDggbCAxNS42NDI4Miw0NS4wMzI4MyAxNS41ODQ2LC00NS4wMzI4MyBoIDEzLjkxNjI2IGwgLTIyLjU0MjQ4LDYyLjExMjkxIHoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTI5LjQzNDY5OSwtNDcuMjU2MzU2KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExMSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTIiCiAgICAgICBkPSJtIDc3NS45MDY5Miw1MDQuMDgxNDggYyAtNC40ODg2NSwwIC04LjI4Mjg0LC0wLjg1NDYxIC0xMS4zODg3OSwtMi41NTk4MSAtMy4xMDM3NiwtMS43MDUyIC01LjQ1NTgxLC0zLjk3ODIxIC03LjA0NDMxLC02LjgxNSAtMS41OTI1MywtMi44MzY3NCAtMi4zODc4MiwtNS45NjI0MSAtMi4zODc4MiwtOS4zNzQ4OCAwLC0yLjk5MDk3IDAuNDk2NDYsLTUuNjgzNDEgMS40OTM1MywtOC4wODEwNiAwLjk5OTAyLC0yLjM5NTYzIDIuNTMyMSwtNC40NjQ4NCA0LjYwMzM5LC02LjIxMTYxIDIuMDcxMjksLTEuNzQyODYgNC43NTM2NiwtMy4xNjkxMiA4LjA1MTM5LC00LjI4Mjg5IDIuNDkwNiwtMC44MDUxMiA1LjQxNjM5LC0xLjUzMzA5IDguNzY5NTQsLTIuMTgzOTYgMy4zNTUxLC0wLjY1MDgyIDYuOTk4OSwtMS4yNTYxNyAxMC45Mjc3MywtMS44MTQwMyAzLjkzMjc0LC0wLjU1NTkxIDguMDQxNSwtMS4xNTcyOSAxMi4zMzYzLC0xLjgxMjAxIGwgLTQuOTQ1NjgsMi44MTg5MSBjIDAuMDM3NiwtNC4yOTI3MyAtMC45MTk4LC03LjQ1Nzg5IC0yLjg3NDM5LC05LjQ4OTU3IC0xLjk1NDQ2LC0yLjAzMTY3IC01LjI1MjE5LC0zLjA0ODQ2IC05Ljg5NTAxLC0zLjA0ODQ2IC0yLjc5NzI1LDAgLTUuNDk5NjQsMC42NTI4MyAtOC4xMDg3NywxLjk1NDUzIC0yLjYwNzQyLDEuMzA1NiAtNC40MjczNywzLjU0ODk1IC01LjQ2MTkxLDYuNzMxODcgbCAtMTIuNjUyODQsLTMuOTcwMjcgYyAxLjUzNTE2LC01LjI1MjIgNC40NTQ5NiwtOS40Njc3OCA4Ljc2OTU0LC0xMi42NTI3NyA0LjMxMjYyLC0zLjE4MDk3IDEwLjEzMDQ5LC00Ljc3MzQ0IDE3LjQ1Mzk4LC00Ljc3MzQ0IDUuNTIxMjQsMCAxMC4zODE3MSwwLjkwMDAyIDE0LjU3OTU5LDIuNzAyMjEgNC4xOTc3NSwxLjgwMjE4IDcuMzE1NDIsNC43NTU2MSA5LjM0NTA5LDguODU4NTIgMS4xMTM3NywyLjE4Mzk2IDEuNzg2MzcsNC40MTkzNyAyLjAxMzkxLDYuNzAwMjYgMC4yMjkzNywyLjI4MDk0IDAuMzQ2Miw0Ljc2NTYyIDAuMzQ2Miw3LjQ0NjEgdiAzOC4xMzAzNyBoIC0xMi4xMzY0OCB2IC0xMy40NTc4OCBsIDIuMDExODQsMi4xODc4NiBjIC0yLjc5NzI0LDQuNDg0NjggLTYuMDYzMjMsNy43NzI1OSAtOS44MDIyNCw5Ljg2MTU3IC0zLjc0MDczLDIuMDg4OTMgLTguNDA3NDgsMy4xMzU0NCAtMTQuMDAzNzksMy4xMzU0NCBtIDIuNzU5NTIsLTExLjA0MjQ4IGMgMy4xNDM0NCwwIDUuODI4MDEsLTAuNTU1ODUgOC4wNTEzOSwtMS42Njc2IDIuMjIxNTYsLTEuMTEzODMgMy45OTYyMiwtMi40NzQ3OSA1LjMxOTU4LC00LjA4NTA4IDEuMzIzNDksLTEuNjA4MzQgMi4yMTM2MywtMy4xMjU2MSAyLjY3NDU3LC00LjU0MiAwLjcyNzksLTEuNzY0NTggMS4xMzk0LC0zLjc4NjMxIDEuMjM2NDUsLTYuMDY3MjYgMC4wOTY5LC0yLjI4MDg4IDAuMTQ2MzYsLTQuMTMwNjEgMC4xNDYzNiwtNS41NTA5IGwgNC4yNTMxNywxLjI2NTk5IGMgLTQuMTc4MSwwLjY1MDk0IC03Ljc2NDUyLDEuMjI2NTYgLTEwLjc1MzY2LDEuNzI3MTEgLTIuOTkxMDksMC40OTY1MiAtNS41NjA5MSwwLjk2NTQgLTcuNzA5MjMsMS40MDY1IC0yLjE0NjM2LDAuNDQxMSAtNC4wNDE1LDAuOTI5NzUgLTUuNjkzMjQsMS40Njc4MyAtMS42MDgyNywwLjU3MzY3IC0yLjk3MTQzLDEuMjQ2MjggLTQuMDgzMTMsMi4wMTE4NCAtMS4xMDk4NiwwLjc2NzY0IC0xLjk2MjUyLDEuNjQ5ODQgLTIuNTU5OTMsMi42NDY5MSAtMC41OTUzNCwwLjk5NSAtMC44OTAwMiwyLjE2NDEzIC0wLjg5MDAyLDMuNTA3MzMgMCwxLjUzNTE1IDAuMzgxNzIsMi44ODQyOCAxLjE1MTI1LDQuMDU1NDIgMC43Njc0NSwxLjE2OTEzIDEuODg3MDgsMi4wOTY5MiAzLjM2NDg3LDIuNzg3MzUgMS40NzU4MywwLjY5MjMyIDMuMzA1NzgsMS4wMzY1NiA1LjQ5MTU3LDEuMDM2NTYiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTI1LjUzMzk4NiwtNDcuMzY4Mjc5KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExMykiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTQiCiAgICAgICBkPSJNIDAsMCBIIDEzLjg2MDk2IFYgODQuNTQxNzQ4IEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDgxLjg2NzU4Myw3LjQyMDM1NzYpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTE1KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDExNiIKICAgICAgIGQ9Im0gODI3LjQyNTksNTA0LjA3OTUzIGMgLTUuNzE0OTYsMCAtMTAuNzAwMzEsLTEuNDM4MTcgLTE0Ljk1MzQ5LC00LjMxMjU2IC00LjI1NzA4LC0yLjg3NDMzIC03LjU1NDgxLC02Ljc4NTI4IC05Ljg5MTExLC0xMS43MzA4NCAtMi4zNDAyMSwtNC45NDk2NCAtMy41MTEyMywtMTAuNTI0MjkgLTMuNTExMjMsLTE2LjczNzg1IDAsLTYuMjg2ODcgMS4xNzg5NSwtMTEuODk1MDggMy41MzkwNiwtMTYuODIwOTIgMi4zNTU5NiwtNC45Mjc4IDUuNzAzMTMsLTguODE4OTEgMTAuMDM1NCwtMTEuNjc1NDggNC4zMzI0LC0yLjg1NDY4IDkuNDMyMjUsLTQuMjg0ODUgMTUuMjk3NzMsLTQuMjg0ODUgNS45MDI5NSwwIDEwLjg1ODUyLDEuNDMwMTcgMTQuODY2MzMsNC4yODQ4NSA0LjAwNDAzLDIuODU2NTcgNy4wNDQ2OCw2Ljc1NTYyIDkuMTE1NzMsMTEuNzA1MTQgMi4wNjkyMSw0Ljk0NTYyIDMuMTA1ODMsMTAuNTQxOTkgMy4xMDU4MywxNi43OTEyNiAwLDYuMTc0MDcgLTEuMDM2NjIsMTEuNzQyNzQgLTMuMTA1ODMsMTYuNzA4MTMgLTIuMDcxMDUsNC45NjMzOCAtNS4xNTcxMSw4Ljg4NjIzIC05LjI2MDE0LDExLjc2MDU2IC00LjEwMDgzLDIuODc0MzkgLTkuMTgyODYsNC4zMTI1NiAtMTUuMjM4MjgsNC4zMTI1NiBtIDEuMjA0NzIsMjcuNjA4MTUgYyAtMy40NDgsMCAtNi43NTU1LC0wLjUzODA4IC05LjkxODgzLC0xLjYxMjI0IC0zLjE2MzA4LC0xLjA3MjE0IC02LjAxMTcyLC0yLjYxNTIzIC04LjU0MTg3LC00LjYyOTAzIC0yLjUzMDI3LC0yLjAxMzkxIC00LjYwMTU2LC00LjQzOTE1IC02LjIwOTcxLC03LjI3NTg4IGwgMTIuNzY1MzgsLTYuMzI2NDcgYyAxLjE4ODk2LDIuMjYzMTIgMi44Njg1MywzLjk0MDY3IDUuMDMyNzEsNS4wMzI2NSAyLjE2ODIxLDEuMDkxOTggNC40Nzg2NCwxLjYzOCA2LjkzMTc2LDEuNjM4IDIuODc0MjcsMCA1LjQ0MjE0LC0wLjUwODQyIDcuNzA1MDgsLTEuNTIzMjUgMi4yNjEyMywtMS4wMTQ5IDQuMDE3ODIsLTIuNTEyNDYgNS4yNjIyMSwtNC40ODQ2OSAxLjI0NDI2LC0xLjk3ODI3IDEuODMxNzksLTQuNDM3MTMgMS43NTQ2NCwtNy4zOTA2MiB2IC0xNy42NTU3NiBoIDEuNzI2OTMgViA0NDAuMjQyIGggMTIuMTMyNjkgdiA2NS4xMDE2MyBjIDAsMS41NzQ2NCAtMC4wNjc1LDMuMDgwMTQgLTAuMTk5ODMsNC41MTYyOSAtMC4xMzQ1MiwxLjQzODE4IC0wLjM1NjA4LDIuODQ4NjQgLTAuNjYyODQsNC4yMjc0MiAtMC45MTk4LDQuMDI1NzYgLTIuNjgyMzgsNy4zMzEzNiAtNS4yODk4LDkuOTIwOSAtMi42MDkxMywyLjU4NzUyIC01LjgzNzY1LDQuNTE0MzQgLTkuNjg5MzMsNS43ODA0IC0zLjg1NTU5LDEuMjY0MDkgLTguMTE4NTMsMS44OTkwNCAtMTIuNzk5MTksMS44OTkwNCBtIDAuOTIxODcsLTQwLjAyOTQ4IGMgMy43MTcxNiwwIDYuNzE4MTQsLTAuODUyNTQgOS4wMDMwNSwtMi41NTk4MSAyLjI3Njk4LC0xLjcwNTIgMy45NDY1NCwtNC4wOTA5NCA1LjAwMDg2LC03LjE1OTE4IDEuMDU0NDQsLTMuMDY2MjkgMS41ODI1MiwtNi42MTMyOCAxLjU4MjUyLC0xMC42NDA5MyAwLC00LjA2MzI5IC0wLjUyODA4LC03LjYxODE3IC0xLjU4MjUyLC0xMC42Njg2NCAtMS4wNTQzMiwtMy4wNDY0NSAtMi42OTQzNCwtNS40MjQzMiAtNC45MTU3NywtNy4xMzE0NyAtMi4yMjc1NCwtMS43MDUyNiAtNS4xMDE5MywtMi41NTc4NiAtOC42MjcyLC0yLjU1Nzg2IC0zLjcyMTA3LDAgLTYuNzg5MTksMC45MTE5OCAtOS4yMDI3NiwyLjcyOTk4IC0yLjQxNTQxLDEuODIzOTEgLTQuMTk5NzEsNC4yNzY4NSAtNS4zNDcwNSw3LjM2MjkxIC0xLjE1MTM2LDMuMDg2MDYgLTEuNzI3MDUsNi41MDg0MyAtMS43MjcwNSwxMC4yNjUwOCAwLDMuNzk2MTQgMC41Njc3NSw3LjIzODM0IDEuNjk3MjcsMTAuMzIyMzkgMS4xMjk2NCwzLjA4ODA3IDIuODY2NTgsNS41MzMwOCA1LjIwMjc2LDcuMzMzMzEgMi4zNDAzMywxLjgwNDA4IDUuMzA5NjksMi43MDQyMiA4LjkxNTg5LDIuNzA0MjIiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsLTE5Ljg5MTg0MiwtNDcuMzY4Mjc5KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExNykiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMTgiCiAgICAgICBkPSJNIDAsMCBIIDM2LjU5MDYzMyBWIDEwLjIyNDExMiBIIDAgWiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwxMS45ODA5MjIsMTcuNjkwMTA3KSIKICAgICAgIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDExOSkiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxMjAiCiAgICAgICBkPSJNIDU0OS40ODQ2Miw0NzcuNTcyMzYgSCA1MTguMDA1IHYgLTEwLjIyMzUxIGggMjYuMzY3NjggViA0NDAuOTgzIGggMTAuMjIzNjMgdiAzMS40Nzc2IGMgMCwyLjgyNDk1IC0yLjI5MDc3LDUuMTExNzYgLTUuMTExNjksNS4xMTE3NiIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNTUuOTQ1OTk3LC00Ny4wNTE5NzUpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTIxKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyMiIKICAgICAgIGQ9Ik0gMCwwIEggMTAuMjI0MTEyIFYgNjIuOTYwMTA2IEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDE4Ljg1NTY5NywxMC43NzQ3MTEpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTIzKSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyNCIKICAgICAgIGQ9Ik0gMCwwIEggMzYuNTkzNDg3IFYgMTAuMjI0MTEyIEggMCBaIgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LDguNDgyNTAzMyw3LjMxNjg4NDgpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTI1KSIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDEyNiIKICAgICAgIGQ9Ik0gNTE0Ljc0NDM4LDQ3Ny41NzIzNiBIIDUwNC41MTkwMSBWIDQ0Ni4wOTQ3IGMgMCwtMi44MjI4MiAyLjI5MDgzLC01LjExMTcgNS4xMTE3NiwtNS4xMTE3IGggMzEuNDgxNjYgdiAxMC4yMjM1MSBoIC0yNi4zNjgwNSB6IgogICAgICAgc3R5bGU9ImZpbGw6IzJmNDYzZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMTMxMTMxNSwwLDAsMC4xMzExMzE1LC01Ny42NzU5MzEsLTQ3LjA1MTk3NSkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMjcpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTI4IgogICAgICAgZD0iTSAwLDAgSCAxMC4yMjQxMTIgViA2Mi45NjAxMDYgSCAwIFoiCiAgICAgICBzdHlsZT0iZmlsbDojMmY0NjNlO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4xMzExMzE1LDAsMCwwLjEzMTEzMTUsNS4wNjUyMTQ4LDcuMzE2ODg0OCkiCiAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxMjkpIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTMwIgogICAgICAgZD0ibSA1NjguNjM4MTIsNTk1LjE1OTMgYyAtNTMuNTU2NTIsMCAtOTcuMTI5MTUsLTQzLjU3MjUxIC05Ny4xMjkxNSwtOTcuMTI5MTUgMCwtNTMuNTU2NyA0My41NzI2MywtOTcuMTI5MTUgOTcuMTI5MTUsLTk3LjEyOTE1IDUzLjU1Njc3LDAgOTcuMTI5MTUsNDMuNTcyNDUgOTcuMTI5MTUsOTcuMTI5MTUgMCw1My41NTY2NCAtNDMuNTcyMzgsOTcuMTI5MTUgLTk3LjEyOTE1LDk3LjEyOTE1IG0gMCwtMTg0LjAzNDc5IGMgLTQ3LjkxODUyLDAgLTg2LjkwMzU2LDM4Ljk4Njk0IC04Ni45MDM1Niw4Ni45MDU2NCAwLDQ3LjkyMjYxIDM4Ljk4NTA0LDg2LjkwNTY0IDg2LjkwMzU2LDg2LjkwNTY0IDQ3LjkxODgzLDAgODYuOTA1NzYsLTM4Ljk4MzAzIDg2LjkwNTc2LC04Ni45MDU2NCAwLC00Ny45MTg3IC0zOC45ODY5MywtODYuOTA1NjQgLTg2LjkwNTc2LC04Ni45MDU2NCIKICAgICAgIHN0eWxlPSJmaWxsOiMyZjQ2M2U7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjEzMTEzMTUsMCwwLDAuMTMxMTMxNSwtNjEuOTEwMzYzLC01Mi4xOTM1MDkpIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTMxKSIgLz4KICA8L2c+Cjwvc3ZnPgo=",alt:"Fraktvalg logo"})}),(0,c.jsx)(Z,{currentStep:e,steps:g.length,labels:g,setStep:t}),(0,c.jsxs)("div",{className:"max-w-5xl bg-white rounded-lg shadow p-6",children:[1===e&&(0,c.jsx)(d,{nextStep:s}),2===e&&(0,c.jsx)(f,{nextStep:s}),3===e&&(0,c.jsx)(P,{nextStep:s}),4===e&&(0,c.jsx)(F,{nextStep:s}),5===e&&(0,c.jsx)(G,{nextStep:s})]})]})})})}const W=document.getElementById("fraktvalg-onboarding");W&&(0,s.H)(W).render((0,c.jsx)(J,{}))})(); -
fraktvalg/trunk/fraktvalg.php
r3261840 r3267354 10 10 * Description: Easily provide shipping estimates for your customers from multiple providers. 11 11 * Author: fraktvalg 12 * Version: 1. 0.012 * Version: 1.1.0 13 13 * Text Domain: fraktvalg 14 14 * Requires Plugins: woocommerce -
fraktvalg/trunk/readme.txt
r3261837 r3267354 5 5 Requires PHP: 7.4 6 6 Tested up to: 6.7 7 Stable tag: 1. 0.07 Stable tag: 1.1.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 54 54 == Changelog == 55 55 56 = 1.1.0 (2025-04-06) = 57 * Align the shipping block better on the x-axis in themes. 58 * Better shipping labels in classic themes wit hthe default shipping display from WooCommerce. 59 * Add support for more provier logo types from the Fraktvalg API. 60 * Better presentation of error messages when setting up shipping providers. 61 * Improve the onboarding wizard by automating the setup process for block themes when possible. 62 * Improve shipping rate update times by leveraging the WooCommerce data stores. 63 56 64 = 1.0.0 (2025-03-22) = 57 65 * Initial release -
fraktvalg/trunk/uninstall.php
r3260012 r3267354 10 10 die; 11 11 } 12 13 // Remove all options and transients. 14 delete_option( 'fraktvalg_configured' ); 15 delete_option( 'fraktvalg_api_key' ); 16 delete_option( 'fraktvalg_options' ); 17 delete_option( 'fraktvalg[\'priorityProvider\']' );
Note: See TracChangeset
for help on using the changeset viewer.