* Add downloads section
* Create and register the downloads block
* Conditionally remove the upload button from the media upload component
* Create upload image component
* Add media uploader component to the downloads block
* Add downloads table
* Add remove file feature to the downloads table
* Set downloadable to false when there are no download files
* Add support to remove uploaded file
* If the file has a custom name added by the user, we show it first. The actual file name is then shown in a second line.
* Add changelog files
* Fix linter error
* Address feedback from comments
* Fix allowed media types
* Register the new feature flag product-virtual-downloadable
* Hide the downloads section behind the feature flag product-virtual-downloadable
* Update editor settings after sync blocks with template
* Get allowedMimeTypes from the editor settings
* Fix linter errors
* Add description to the Variation details section
* Add Image section block to the Single Variation page
* Add support to the checkbox block for changing non boolean properties and extend it to use the entity context
* Register the product-variation-visibility block into the ProductVariationTemplate
* Null is a valid value but not updafined
* Fix type definitions
* Add changelog files
* Fix linter errors
* Add changelog file
* Change onValue and offValue for checkedValue and unchackedValue for the checkbox block to avoid event naming conflicts
* Set multiple value dynamically into the media uploader component
* Prevent uploading multiple files when multiple is set to false
* Remove cover label when multiple is set to false
* Fix DropZone min height in Image section
* Fix rebase conflict
* Fix linter error
* Update theme properties
* Fix theme array properties
* Update filtered urls to use admin_url() instead of home_url()
home_url() is used for front-end requests; admin_url() should be used for wp-admin urls
* Remove "valid" theme check
* Slight tweak to the color palette values
The theme showcase actually uses some more complex logic to pick two out of the 5 colors to represent the theme. We could probably manually copy these as two values instead of what I'm doing here.
* Removed unused color palette values
Really this is probably the simpler approach. Might revisit this later. Also added a total_palettes value so we can track that and show "+X" in the theme preview
* Add extra palettes number
If there are more than 4 palettes, we'll show the number of extras as we do in the WP.com theme showcase.
* Tighten gap between theme name and type
There was too large of a bottom margin on the theme info div.
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint
* Remove allowed_theme check from activate_theme api
* Fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* add: UI work for task completed flow
* added spinner for intro page loading
* add: save ai generated theme id to options
* resolve rebase conflict
* fixed tests
* Initial changes needed to get product variation to load in its own form
* Allow the publishing of an individual variation
* Address some PR feedback and do some general cleanup
* Update template with new attribute name
* Add changelogs
* Update label of note field and allow for optional param in summary block
* Remove helpText in variation note field
* Fix PHP lint errors
* Make editor type more abstract
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Use themes REST API
* Add changefile(s) from automation for the following project(s): woocommerce
* Use browse_all.href and set default value to /:admin-dir/themes.php
* Fix lint
* Fix tests
* Fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Replace mshot image with preview editor frame in transitional screen
* Add changelog
* Fix test
* Use current xstate to check if it is transitional page
* Remove homepage template prompt
* Add changefile(s) from automation for the following project(s): woocommerce
* Set template1 for the default homepageTemplate
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update intro banner background image
* Remove unused graphic
* Add site icon and title
Also updated the intro banner background CSS
* Fix typo
* Remove assembler hub button -- not used here
* Fix image pos and import the correct image
* Change banner to offline when the user network goes offline
* CSS fixes
* Redirect to users to themes.php on Browse all themes clicked
* Change banner text, title, and button text depending on the network and jetpack status
* Add active theme design -- still needs API to get the active theme
* Add color variations
* Update info card margin
* Update info card margin
* Separate out ColorPalettes component
* Separate out ThemeCard
* Update site-title font color
* Update margin between banner p and button
* Update theme card row-gap
* Remove use of color palette border color
* Lint fixes
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix errors after rebase
---------
Co-authored-by: Chris Runnells <chris.runnells@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Add new context values
* Implement design with A.I change warning modal
* Add count-active-theme-mods endpoint
* Add count-active-theme-mods selector in the frontend
* Set mods_count correctly
* Fetch activeThemeHasMods and customizeStoreTaskCompleted
* Use activeThemeHasMods and customizeStoreCompleted
* Add changefile(s) from automation for the following project(s): @woocommerce/data, woocommerce
* Use correct APIs to check template, pages, and styles modifications
* Fix hasModifiedPages resolve error
* Assign hasErrors on fetchIntroData errors
* Add changefile(s) from automation for the following project(s): @woocommerce/data, woocommerce
* Ignore TS error
* Fix css lint errors
* Fix broken test
* Fix broken test
* Revert changes -- no longer needed
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Handle store patterns update API request properly
* Full redirect to Assembler hub after ai loading
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Moved homepage templates, added header and footer to homepage templates, revamped templates to use metadata.
removed header and footer completion calls
* Lint
* Slight adjustment to completion prompt and changelog
* Lint
* Use header and footer in 'Change your homepage'
* Add test
* Lint
* Add back homepage templates exclusion header and footer for assembler use
* Add test for useHomeTemplates
* Lint
When tab is changed, `@woocommerce/navigation` package resets
the `term` query parameter. So `query.term` becomes undefined.
Adding the else block allows us to catch that case and then
we can reset the search input.
* Consider setup task hidden when activeSetupList is null
* Render ActivityPanel when the setup tasklist is hidden only
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Persist AI assembled site
* Update color options
* Invalid the selectors
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint
* Update colorPaletteName
* Fix tests
* [Customize Your Store] Call wc store patterns API (#40297)
* Call /wc/store/v1/patterns endpoint to populate pattern contents/images
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
* Implement back to home buttons
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add cys ai header suggestion
* Add cys ai footer suggestion
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix types
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use all 6 homepage templates
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update appearance task to choose a WP theme
* Add changelog
* Update redirect URL
Redirects to the main theme screen.
* Update plugins/woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Appearance.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Wrap URL in getAdminLink
* Update position of task
* Change title
* Change redirect URL to be the site editor
* Revert to original task name
* Use inherited is_complete function
* Use PHP-based action tracking
* Fix lint issue
---------
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Direct user to the assembler hub automatically after saving
* Unset active state on color palette when user changes colors
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unneed styles
* Fix color variation logic
---------
Co-authored-by: github-actions <github-actions@github.com>
* Redirect to product editing page when product was still in auto draft
* Make sure the prevent page does not show up when creating variations
* Add changelog and fix tests
* Redirect to Jetpack connect when jetpack-boost is selected
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Mark CYS task completed when clicking done button
* Mark CYS task completed after switching theme
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update wording on Marketplace footer
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add tracks to assembler-hub and hide add pages menu
* Add changefile(s) from automation for the following project(s): woocommerce
* Track sidebar menu item click event
* Update tour tracks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: Add the right URL parameters to product URLs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: raicem <unalancem@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
* Move the header data to the body as the header prop does not exist anymore
* Remove explicit setting of __unstableResolvedAssets given get_block_editor_settings already does this
* Remove use of woocommerce-page class in admin to avoid theme conflicts
* Add changelogs
* Revert change for quick test
* Two additional tweaks for admin related styling
* Add cys AI wizard tracks
* Add changefile(s) from automation for the following project(s): woocommerce
* Revert ai API track name change
* Track AI API request network error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add CYS transitional screen
* Add changefile(s) from automation for the following project(s): woocommerce
* Add tests
* Update preview loading style and add requeue param
* Fix visible logic
* Fix img size
* Update comments
* Fix lint
* Pre-fetch image and wait a 5s before redirecting to transitional page after clicking on done button
* Remove unneed overflow
* Move pre-fetch logic to xstate and use spinner for button loading state
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update store currency when location changes
* Remove incorrect import
* Add changefile(s) from automation for the following project(s): woocommerce
* Add space to trigger GH jobs
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: remove orphaned components
* Marketplace: add country to search query
* Add changefile(s) from automation for the following project(s): woocommerce
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
* add: url navigation to cys
* bugfix for url not updating
* url handling for design-with-ai
* fixed url syncing so that it's working with @woocommerce/navigation
* changed useLocation to useQuery in assembler-hub save-hub
* Fix __experimentalReapplyBlockTypeFilters is not a function
* Add changefile(s) from automation for the following project(s): woocommerce
Update changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix wp-router dependencies issue
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix customize your store task header button (#40033)
* Fix customize your store task header button
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
* Custom WooPayments task header content
when action incentive is available.
* Add badge prop to experimental TaskItem component
, update task list components, docs, storybook, and tests
* Add badge property to OnboardingTasks/Task abstract class
* Add `woocommerce_admin_woopayments_onboarding_task_badge` filter
* Use the filter to display the badge from server
* Add changelog entries
* Update filter to use return existing badge
instead of an empty string
* Update task header to also check for the incentive in wcpaySettings
* add: made look and tone ai completion api call more robust
- added tracks and tests for invalid ai response
* removed some redundant stuff
* parameterised prompt for safety
* minor fixes
* Add ProgressBar component to @woocommerce/components
* Add changelog
* Remove html.wp-toolbar in fullscreen mode
* Add base style
* Add Tell us a bit more about your business page
* Fix merge conflict issues
* Send BUSINESS_INFO_DESCRIPTION_COMPLETE event when continue button is clicked
* Remove duplicated style import
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
* Lint fix
* Add 'Look and Feel' and 'Tone of voice' pages';
* Use correct classname
* Minor changes
* Textearea color should be gray-900 after the user enter text
* guide font weight should be 500
* Fix layout shift when a choice is selected
* Fix choices width for tone of voice page
* Use context value for the default
* Revert button margin top
* Fix default selection
* Add X button
* Decrease the margin by 20px to accommodate the height of the close button
* Add close action
* Include @woocommerce/ai package
* Add AI service
* Use AI service
* Parse JSON from in function
* Fix assignLookAndTone event type
* Update plugins/woocommerce-admin/client/customize-store/design-with-ai/components/choice/choice.scss
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce-admin/client/customize-store/design-with-ai/services.ts
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Log when AI API endpoint request fails
* Add spinner when user clicks the continue button
* streamlined unnecessary isRequesting context and forwarded close event
* pnpm-lock changes from trunk
* lint fixes
* ai package test passWithNoTests
* changelog
* reset pnpm-lock to trunk
* Dev: update pnpm-lock.yaml and jest preset config (#40045)
* Update pnpm-lock.yaml
* Update jest-preset config to fix unexpected token error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
This is necessary because the layout of WooCommerce > Extensions pages adjusts the page height (to compensate for the larger header). On systems with scrollbars set to always-visible, this results in a ~1px overflow of the inner content and double-scrollbars are visible. This CSS mitigates that.
WooCommerce store alerts shown on the Marketplace page are mis-aligned on account of the CSS that applies to the Marketplace. This change re-positions them and, as a bonus, aligns their left and right edges with the rest of the page content, improving the design.
* Update tour-kit to have a optional skip button and custom secondary button label
* Add changelog
* Add onboarding tour
* Update layout and resiable-frame for onboarding tour
* Update onboarding tour style
* Update resizable handler
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
The external @wordpress/router package is not available in these versions, so we need to bundle it with the plugin. This is a temporary fix until we can drop support for WP 6.2 and below.
* dev: added docs for core profiler
* lint
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Optimize customize store preview frame resize performance
* Add changefile(s) from automation for the following project(s): woocommerce
* Set isOversized to false to fix frame oversize issue
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make sure alert.id and action.id are defined
* Copy id from db to action
* Add changelog
* Add error message when something goes wrong while triggering note action
* Rename changelog
* Add @wordpress dependencies for customize store task
* Update webpack config to bundle wp edit-site package instead of using external
* Add customize-store task list item fill
* Update CustomizeStore task to load editor scripts and settings
* Update customize store routing path
Use /* since we want to match any path that starts with customize-store
* Add assembler-hub
* Ignore some wp packages from syncpack for customize store assembler hub
We need to use specific versions of these packages for the customize store
"@wordpress/interface", "@wordpress/router", "@wordpress/edit-site"
* Add changefile(s) from automation for the following project(s): woocommerce
* Tweak style
* Use CustomizeStoreContext and send xstate event
* Update assembler-hub style
* Fix nav width
---------
Co-authored-by: github-actions <github-actions@github.com>
- `ProductListContextProvider` provides `setIsLoading` function as well as `isLoading`.
- `Discover` uses these values from context, instead of keeping a loading state in itself.
- `FeedbackModal` calls `maybSetTimeout` when `isLoading` changes. If `isLoading` isn't truthy, and snackbar hasn't already rendered, it sets a timeout of 5 seconds to show it.
- Removed wrapping <WooFooterItem> from around Footer component, so it's no longer a child of the WooCommerce Admin `.woocommerce-layout__footer` footer.
- Removed the `position: relative` from `.woocommerce-layout__footer`. It needs to be `position: fixed`.
- Added FooterContent component to Footer, to allow the layout we want.
- Changed use of context. This now only has states for the selected tab and loading state.
- We use this context in `Tabs` and `Content` to keep track of which tab is selected, and set the selected tab.
- We also use it in `Discover` and `Extensions`, which both report loading state to the context. This allows us to use it to only render the snackbar when loading is complete.
- Extensions: moved `productList` and `setProductList` and logic for getting product list from the context provider to a state in this component. We don't need to share the list of products in the context.
- Renamed `ProductListContext`, `ProductListContextProvider` and `productListContextValue` to more generic `MarketplaceContext`, `MarketplaceContextProvider` and `marketplaceContextValue`.
- Renamed a constant and created constants for API paths.
- Only shows snackbar after content has loaded, and after a timeout. We set a date `marketplace_redesign_2023_last_shown_date` in local storage to ensure we only show one snackbar.