woocommerce/plugins/woocommerce-blocks/assets/js/base/components/state-input/StateInputProps.ts

17 lines
413 B
TypeScript
Raw Normal View History

export interface StateInputProps {
className?: string;
Block-based checkout - Update address fields display logic (#47160) * Add “Address line 2” toggle * Allow apartment field to be required * Add changefile(s) from automation for the following project(s): woocommerce-blocks * Rename “Apartment, suite, etc.” to “Address line 2” * Remove unused dependency * Add key to fragment * Simplify keys * Address failing e2e tests * Change “Optional (Recommended)” to “Optional” * Toggle address line 2 visibility in editor * Add e2e tests * Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce * Update e2e tests * Update e2e tests * Ensure the address 2 field stays open when the seller empties it * Optimise hasAddress2FieldValue * Move address 2 filed related functionality into separate component * Rmove + sign from address 2 field links * WIP: Introduce AddressField component * Update AddressFields component * Refactor AddressFields and Address2Field components * Fix CSS lint error * Fix JS lint error * Fix failing e2e tests * Fix typo in e2e tests * Improve e2e selector * Fix core e2e tests * Use address line 2 label for the link text * Lazy initialise the “isFieldVisible” state * Remove obsolete code * Add inline comments for clarity * Fix JS lint error * Improve e2e tests * Revert "Remove obsolete code" This reverts commit 027d6adc896e153b68d306b49e0fb793752cb8a0. * Adjust visibility toggle * Delete obsolete changelog file * Add inline comment * Fix TS error * Remove obsolete parts * Solve TS warning * Remove obsolete “fieldsRef” * Remove obsolete “setHasFieldBeenModified” * Address various TS warnings * Fix link styling issue on mobile * Fix JS lint error * Refactor and simplify address components * Optimise Address2Field component * Improve inline docs * Move ‘+’ from CSS to i18n * Rename rest of values and pass correct onChange * force component to remount * remove unsed useEffect --------- Co-authored-by: github-actions <github-actions@github.com> Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2024-05-21 08:48:24 +00:00
label?: string | undefined;
id: string;
Block-based checkout - Update address fields display logic (#47160) * Add “Address line 2” toggle * Allow apartment field to be required * Add changefile(s) from automation for the following project(s): woocommerce-blocks * Rename “Apartment, suite, etc.” to “Address line 2” * Remove unused dependency * Add key to fragment * Simplify keys * Address failing e2e tests * Change “Optional (Recommended)” to “Optional” * Toggle address line 2 visibility in editor * Add e2e tests * Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce * Update e2e tests * Update e2e tests * Ensure the address 2 field stays open when the seller empties it * Optimise hasAddress2FieldValue * Move address 2 filed related functionality into separate component * Rmove + sign from address 2 field links * WIP: Introduce AddressField component * Update AddressFields component * Refactor AddressFields and Address2Field components * Fix CSS lint error * Fix JS lint error * Fix failing e2e tests * Fix typo in e2e tests * Improve e2e selector * Fix core e2e tests * Use address line 2 label for the link text * Lazy initialise the “isFieldVisible” state * Remove obsolete code * Add inline comments for clarity * Fix JS lint error * Improve e2e tests * Revert "Remove obsolete code" This reverts commit 027d6adc896e153b68d306b49e0fb793752cb8a0. * Adjust visibility toggle * Delete obsolete changelog file * Add inline comment * Fix TS error * Remove obsolete parts * Solve TS warning * Remove obsolete “fieldsRef” * Remove obsolete “setHasFieldBeenModified” * Address various TS warnings * Fix link styling issue on mobile * Fix JS lint error * Refactor and simplify address components * Optimise Address2Field component * Improve inline docs * Move ‘+’ from CSS to i18n * Rename rest of values and pass correct onChange * force component to remount * remove unsed useEffect --------- Co-authored-by: github-actions <github-actions@github.com> Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2024-05-21 08:48:24 +00:00
autoComplete?: string | undefined;
value: string;
country: string;
onChange: ( value: string ) => void;
Block-based checkout - Update address fields display logic (#47160) * Add “Address line 2” toggle * Allow apartment field to be required * Add changefile(s) from automation for the following project(s): woocommerce-blocks * Rename “Apartment, suite, etc.” to “Address line 2” * Remove unused dependency * Add key to fragment * Simplify keys * Address failing e2e tests * Change “Optional (Recommended)” to “Optional” * Toggle address line 2 visibility in editor * Add e2e tests * Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce * Update e2e tests * Update e2e tests * Ensure the address 2 field stays open when the seller empties it * Optimise hasAddress2FieldValue * Move address 2 filed related functionality into separate component * Rmove + sign from address 2 field links * WIP: Introduce AddressField component * Update AddressFields component * Refactor AddressFields and Address2Field components * Fix CSS lint error * Fix JS lint error * Fix failing e2e tests * Fix typo in e2e tests * Improve e2e selector * Fix core e2e tests * Use address line 2 label for the link text * Lazy initialise the “isFieldVisible” state * Remove obsolete code * Add inline comments for clarity * Fix JS lint error * Improve e2e tests * Revert "Remove obsolete code" This reverts commit 027d6adc896e153b68d306b49e0fb793752cb8a0. * Adjust visibility toggle * Delete obsolete changelog file * Add inline comment * Fix TS error * Remove obsolete parts * Solve TS warning * Remove obsolete “fieldsRef” * Remove obsolete “setHasFieldBeenModified” * Address various TS warnings * Fix link styling issue on mobile * Fix JS lint error * Refactor and simplify address components * Optimise Address2Field component * Improve inline docs * Move ‘+’ from CSS to i18n * Rename rest of values and pass correct onChange * force component to remount * remove unsed useEffect --------- Co-authored-by: github-actions <github-actions@github.com> Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2024-05-21 08:48:24 +00:00
required?: boolean | undefined;
errorMessage?: string | undefined;
Remove WC Core shipping settings if Cart/Checkout blocks are in use (https://github.com/woocommerce/woocommerce-blocks/pull/8679) * Add CartCheckoutUtils class This class will store reusable methods relating to Cart/Checkout Blocks, i.e. whether they are used on the Cart/Checkout page. * Update ShippingController to use the new CartCheckoutUtils function This will reduce code duplication when checking if the Cart/Checkout blocks are in use on the Cart/Checkout page. * Add filter to remove shipping settings when Cart/Checkout are default * Ensure setting displays correctly if cart is default but not checkout * Add tests to ensure core shipping settings update correctly * Add setCartCheckoutPages function to update set the cart/checkout page * Force shipping to be enabled if the Checkout block is in use. * Add filter to override cost requires address option * Add shippingCostRequiresAddress option * Check if the address is required before showing rates * Show shipping rates in editor * Add shippingCostRequiresAddress attribute to shipping methods block * Update frontend type to show shippingCostRequiresAddress is a prop * Add control to toggle shippingCostRequiresAddress option * Show address notice in the correct scenario * Send shippingCostRequiresAddress to Block in front end context * Add e2e test for editor control * Add e2e tests for shipping options on the front end * Add updateAttributeInSiblingBlock function * Add shippingCostRequiresAddress to shipping method block * Ensure attribute is updated in both blocks when editing * In Shipping Methods Block, show correct component based on block setting * Show correct block in editor * Remove broken test from PR * Clean up updateAttributeInSiblingBlock * Add setCartCheckoutPages function to update set the cart/checkout page * Add tests to ensure core shipping settings update correctly * Add isAddressComplete function Borrowed from woocommerce/woocommerce-blocks#8141 * Check if the address is required before showing rates * Show shipping rates in editor * Show address notice in the correct scenario * Add e2e tests for shipping options on the front end * Ensure errorId is passed to StateInput * Add fullShippingAddressPushed action to wc/store/cart * Add fullShippingAddressPushed case to reducer * Ensure fullShippingAddressPushed is set when initialising cart store * Add fullShippingAddressPushed selector and default state entry * Add shippingAddressHasValidationErrors util function * Do not overwrite addresses when selecting a rate * Set whether full address has been pushed when saving address changes * In Shipping Methods Block, show correct component based on block setting * Don't show from price if rates should be hidden until address entered * Check city validation errors to assert if shipping address is valid * Rename merchant.js to merchant.ts * Move local pickup functions to common merchant util * Update local pickup tests to use common merchant utils * Add test to ensure setting toggles in both blocks * Add navigating to settings and saving in merchant util * Create addPickupLocation merchant util * Add test for local pickup and require full address * Make sure correct conditions are met to show shipping options * Ensure checkbox is checked during local pickup tests * Unset the checkbox when tests are finished running * Update checkout block fixture * Prevent error in unit tests * Import validation store key from constants Required because importing from the index causes the validation data store to register twice * Update checkout terms test to wait for button not to be disabled * Revert "Add isAddressComplete function" This reverts commit 9967dc0d4f10cf638859ae085e6f4cc2901dd299.
2023-03-13 11:49:28 +00:00
errorId?: string;
}
export type StateInputWithStatesProps = StateInputProps & {
states: Record< string, Record< string, string > >;
};