* 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.
* Update Jetpack label and description
* Replace Jetpack with Jetpack Boost for treatment group
* Add changelog
* Append plugin_name param to Jetpack Connection page URL
* Use the correct experiment name
We were hitting the WCCOM API directly from the front end. However,
that limits of in terms of caching and reducing the load on WCCOM.
To prevent that, we added a REST API endpoint. This endpoint
fetches discover page content from WCCOM and puts in a transient.
This is actually how the page works in the previous version. So
we were able to reuse a lot of the code.
- Removed duplicate `Search` styles from `header.scss`.
- Removed 10px top padding from `Header`. Applied it to title, meta and search containers instead.
- Deleted duplicate search button style from `header.scss`.
- Swapped round order of search component and header meta div so tab navigation order is correct.
- Added focus style to search component.
- Reduced footer side padding on mobile.
- Changed `.woocommerce-marketplace__header-title` page title to an h1 for accessibility.
- Removed top margin from product cards – the css grid handles the gap.
- Removed margin from `.woocommerce-marketplace__product-card__description`.
- Reduced font weight of price in product cards.
- Set margin below product list header.
- Removed right margin from tab buttons – css grid handles the gap.
- Increased top padding of `.woocommerce-marketplace__content`.
Addressing linter error.
* Auto create variations and move product to variable when adding variation options
* Delete unused components
* Add tour to variation options
* Remove unneeded options
* Add changelog
* Fix types
* Fix lint errors
* Fix broken tests
* FIlter out option tags when not included in attributes
* Don't invalidate variations data when no new variations are created
* Tour: reconfigure to work with new layout
- Started Reconfiguring the existing tour to work with the new layout and components.
- Updated step content based on design
- Implemented PR feedback
- Removed task list for MVP
# Conflicts:
# plugins/woocommerce-admin/client/marketplace/components/tabs/tabs.tsx