diff --git a/.github/workflows/build-plugin-zip.yml b/.github/workflows/build-plugin-zip.yml
index 40d7507fb..1d4da02c3 100644
--- a/.github/workflows/build-plugin-zip.yml
+++ b/.github/workflows/build-plugin-zip.yml
@@ -118,6 +118,19 @@ jobs:
git fetch --depth=1 origin "${{ steps.get_version.outputs.release_branch }}"
git checkout "${{ steps.get_version.outputs.release_branch }}"
+ - name: Setup Node.js and install dependencies
+ uses: ./.github/setup-node
+
+ - name: Update the changelog of packages
+ id: update_packages
+ run: |
+ npm run update:changelogs -- --version="${{ steps.get_version.outputs.new_version }}"
+ CHANGELOG=$(cat changelog.txt | awk '{printf "%s\\n", $0}')
+ echo "changelog=$CHANGELOG" >> $GITHUB_OUTPUT
+ git add .
+ git commit -m "Update Changelog for ${{ steps.get_version.outputs.new_version }}"
+ echo "has_commit=$(git rev-parse --verify --short HEAD)" >> $GITHUB_OUTPUT
+
- name: Update plugin version
env:
VERSION: ${{ steps.get_version.outputs.new_version }}
@@ -145,6 +158,7 @@ jobs:
git pull
MASTER_VERSION=$(jq --raw-output '.version' package.json)
if [[ ${{ steps.get_version.outputs.old_version }} == "$MASTER_VERSION" ]]; then
+ git cherry-pick "${{ steps.update_packages.outputs.has_commit }}"
git cherry-pick "${{ steps.get_version.outputs.release_branch }}"
git push
echo "version_bump_commit=$(git rev-parse --verify --short HEAD)" >> $GITHUB_OUTPUT
@@ -194,8 +208,8 @@ jobs:
run: |
IFS='.' read -r -a VERSION_ARRAY <<< "${VERSION}"
MILESTONE="Blockera ${VERSION_ARRAY[0]}.${VERSION_ARRAY[1]}"
- npm run update:changelogs
- npm run other:changelog -- --milestone="$MILESTONE" --unreleased > release-notes.txt
+ echo ${{needs.update_packages.outputs.changelog}} >> release-note.txt
+ npm run other:changelog -- --milestone="$MILESTONE" --unreleased --file="release-note.txt" --version="${{ needs.bump-version.outputs.new_version }}" > release-notes.txt
sed -ie '1,6d' release-notes.txt
if [[ ${{ needs.bump-version.outputs.new_version }} != *"rc"* ]]; then
# Include previous RCs' release notes, if any
diff --git a/.github/workflows/upload-release-to-plugin-repo.yml b/.github/workflows/upload-release-to-plugin-repo.yml
index f3c09f787..774360c6b 100644
--- a/.github/workflows/upload-release-to-plugin-repo.yml
+++ b/.github/workflows/upload-release-to-plugin-repo.yml
@@ -78,85 +78,11 @@ jobs:
RELEASE_BRANCH="release/${VERSION_ARRAY[0]}.${VERSION_ARRAY[1]}"
echo "release_branch=${RELEASE_BRANCH}" >> $GITHUB_OUTPUT
- update-changelog:
- name: Update Changelog on ${{ matrix.branch }} branch
- runs-on: ubuntu-latest
- if: |
- github.event.release.assets[0]
- needs: get-release-branch
- env:
- TAG: ${{ github.event.release.tag_name }}
- strategy:
- matrix:
- include:
- - branch: trunk
- label: trunk
- - branch: ${{ needs.get-release-branch.outputs.release_branch }}
- label: release
-
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ matrix.branch }}
- token: ${{ secrets.BLOCKERA_TOKEN }}
- show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
-
- - name: Update the Changelog to include the release notes
- run: |
- # First, determine where to insert the new Changelog entry.
- SERIES="${RELEASE_BRANCH#release/}"
- SERIES_REGEX="=\s${SERIES}\.[0-9]+\s="
- CUT_MARKS=$( grep -nP -m 1 "${SERIES_REGEX}" changelog.txt | cut -d: -f1 )
- if [[ -z "${CUT_MARKS}" ]]; then
- CHANGELOG_REGEX="=\s[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?\s="
- RC_REGEX="=\s${TAG#v}(-rc\.[0-9]+)?\s="
- CUT_MARKS=$( awk "/${RC_REGEX}/ {print NR; next}; /${CHANGELOG_REGEX}/ {print NR; exit}" changelog.txt )
- fi
- BEFORE=$( echo "$CUT_MARKS" | head -n 1 )
- AFTER=$( echo "$CUT_MARKS" | tail -n 1 )
- # Okay, we have all we need to build the new Changelog.
- head -n $(( "${BEFORE}" - 1 )) changelog.txt > new_changelog.txt
- printf '= %s =\n\n' "${TAG#v}" >> new_changelog.txt
- # Need to use a heredoc in order to preserve special characters.
- cat <<- "EOF" > release_notes.txt
- ${{ github.event.release.body }}
- EOF
- # Normalize empty lines: Trim them from beginning and end of file...
- awk 'NF {p=1} p' <<< "$(< release_notes.txt)" >> new_changelog.txt
- # ...then add two empty lines at the end.
- printf '\n\n' >> new_changelog.txt
- tail -n +"${AFTER}" changelog.txt >> new_changelog.txt
- mv new_changelog.txt changelog.txt
-
- - name: Configure git user name and email
- run: |
- git config user.name "blockerabot"
- git config user.email blockeraai+githubbot@gmail.com
-
- - name: Commit the Changelog update
- run: |
- git add changelog.txt
- # Remove files that are not meant to be committed
- # ie. release_notes.txt created on the previous step.
- git clean -fd
- # Only attempt to commit changelog if it has been modified.
- if ! git diff-index --quiet HEAD --; then
- git commit -m "Update Changelog for ${TAG#v}"
- git push --set-upstream origin "${{ matrix.branch }}"
- fi
-
- - name: Upload Changelog artifact
- uses: actions/upload-artifact@v4
- with:
- name: changelog ${{ matrix.label }}
- path: ./changelog.txt
-
upload:
name: Publish as trunk (and tag)
runs-on: ubuntu-latest
environment: wp.org plugin
- needs: [compute-should-update-trunk, update-changelog]
+ needs: [compute-should-update-trunk]
if: |
needs.compute-should-update-trunk.outputs.should_update_trunk == 'true' && github.event.release.assets[0]
env:
@@ -220,7 +146,7 @@ jobs:
name: Publish as tag
runs-on: ubuntu-latest
environment: wp.org plugin
- needs: [compute-should-update-trunk, update-changelog]
+ needs: [compute-should-update-trunk]
if: |
needs.compute-should-update-trunk.outputs.should_update_trunk == 'false' && github.event.release.assets[0]
env:
diff --git a/README.md b/README.md
index 2c09dcb40..97ed994a6 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
Blockera
-The Advanced Mode for Gutenberg
+The Advanced Mode for Block Editor
Transform WordPress Block Editor into a Powerful Page Builder with Blockera
diff --git a/bin/plugin/cli.js b/bin/plugin/cli.js
index df499c2ba..0f255cfe9 100755
--- a/bin/plugin/cli.js
+++ b/bin/plugin/cli.js
@@ -23,6 +23,7 @@ const { updatePackagesChangelog } = require('./commands/packages');
program
.command('update-packages-changelog')
+ .option('-v, --version ', 'Version')
.option(...releaseType)
.description('Blockera plugin and packages changelogs publishes to git.')
.action(catchException(updatePackagesChangelog));
@@ -30,6 +31,8 @@ program
program
.command('release-plugin-changelog')
.alias('changelog')
+ .option('-f, --file ', 'File')
+ .option('-v, --version ', 'Version')
.option('-m, --milestone ', 'Milestone')
.option('-t, --token ', 'GitHub token')
.option(
diff --git a/bin/plugin/commands/changelog.js b/bin/plugin/commands/changelog.js
index 768f809d5..10ef58cd2 100644
--- a/bin/plugin/commands/changelog.js
+++ b/bin/plugin/commands/changelog.js
@@ -17,6 +17,9 @@ const { log, formats } = require('../lib/logger');
const config = require('../config');
// @ts-ignore
const manifest = require('../../../package.json');
+const fs = require('fs');
+const glob = require('fast-glob');
+const path = require('path');
const UNKNOWN_FEATURE_FALLBACK_NAME = 'Uncategorized';
@@ -120,6 +123,8 @@ const GROUP_TITLE_ORDER = [
'Features',
'Enhancements',
'New APIs',
+ 'New Features',
+ 'Improvements',
'Bug Fixes',
`Accessibility`,
'Performance',
@@ -137,6 +142,8 @@ const GROUP_TITLE_ORDER = [
* @type {Map}
*/
const TITLE_TYPE_PATTERNS = new Map([
+ [/feat?(:|\/ )?/i, 'New Features'],
+ [/improve?\s*ment(s)?(:|\/ )?/i, 'Improvements'],
[/^(\w+:)?(bug)?\s*fix(es)?(:|\/ )?/i, 'Bug Fixes'],
]);
@@ -475,6 +482,7 @@ const createOmitByLabelPrefix = (prefixes) => (text, issue) =>
)
? undefined
: text;
+
/**
* Given an issue title and issue, returns the title with redundant grouping
* type details removed. The prefix is redundant since it would already be clear
@@ -692,14 +700,144 @@ async function fetchAllPullRequests(octokit, settings) {
}
/**
- * Formats the changelog string for a given list of pull requests.
+ * Combines repeated sections in a changelog string.
+ *
+ * @param {string} changelog the changelog text.
+ *
+ * @returns {string} the combined changelog same sections.
+ */
+function combineChangelogSections(changelog) {
+ // Split the changelog into lines
+ const lines = changelog.split('\n');
+
+ // Initialize an object to hold each section's content
+ const sections = {};
+ let currentSection = '';
+
+ // Loop through each line
+ lines.forEach((line) => {
+ // Check if the line starts with a section heading (e.g., ### Bug Fixes)
+ const sectionMatch = line.match(/^### (.+)$/);
+ if (sectionMatch) {
+ currentSection = sectionMatch[1];
+ // Initialize the section in the object if it doesn't exist
+ if (!sections[currentSection]) {
+ sections[currentSection] = [];
+ }
+ } else if (currentSection) {
+ // Add the line to the current section
+ sections[currentSection].push(line);
+ }
+ });
+
+ // Define the priority order for sections
+ const priorityOrder = ['New Features', 'Improvements', 'Bug Fixes'];
+
+ // Reconstruct the changelog by priority
+ let combinedChangelog = '';
+
+ // Add sections based on priority first
+ priorityOrder.forEach((section) => {
+ if (sections[section]) {
+ combinedChangelog += `\n### ${section}\n`;
+ combinedChangelog += sections[section]
+ .filter((line) => line.trim() !== '')
+ .join('\n');
+ combinedChangelog += '\n';
+ }
+ });
+
+ // Add any other sections that were not prioritized
+ Object.keys(sections).forEach((section) => {
+ if (!priorityOrder.includes(section)) {
+ combinedChangelog += `\n### ${section}\n`;
+ combinedChangelog += sections[section]
+ .filter((line) => line.trim() !== '')
+ .join('\n');
+ combinedChangelog += '\n';
+ }
+ });
+
+ return combinedChangelog.trim();
+}
+
+/**
+ * Formats the changelog string for a given list of packages.
+ *
+ * @param {string[]} changelogPath the changelog path.
+ * @param {string} version The version number if it has value to update changelog.txt!
+ *
+ * @return {string} The formatted changelog string.
+ */
+function getMainChangelog(changelogPath, version = '') {
+ let start =
+ '\n' + '\n\n' + '## Changelog\n\n' + '
\n\n';
+ let changelog = '';
+ const end = '\n\n ';
+
+ // Read the changelog file
+ const content = fs.readFileSync(changelogPath, 'utf8');
+
+ // Remove redundant headings or descriptions of changelog.
+ changelog = content
+ .replace(/== Changelog ==/g, '')
+ .replace(/=\s[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?\s=/g, '')
+ .trim();
+
+ return start + changelog + end;
+}
+
+/**
+ * Formats the changelog string for a given list of packages.
+ *
+ * @param {string[]} changelogs List of pull requests.
+ * @param {string} version The version number to update changelog.txt!
+ *
+ * @return {string} The formatted changelog string.
+ */
+function updateChangelog(changelogs, version) {
+ const start = '== Changelog ==\n\n= ' + version.trim() + ' =\n\n';
+ let changelog = '';
+ const end =
+ '\n\n## More\n\nTo read the changelog for older Blockera releases, please navigate to the [[release page](https://community.blockera.ai/changelog-9l8hbrv0)].';
+
+ for (const changelogPath of changelogs) {
+ // Read the changelog file
+ const content = fs.readFileSync(changelogPath, 'utf8');
+
+ // Use a regular expression to extract the ## Unreleased section
+ const unreleasedSection = content.match(
+ /## Unreleased[\s\S]+?(?=\n## |\n$)/
+ );
+
+ if (unreleasedSection) {
+ changelog += unreleasedSection[0].replace(/##\sUnreleased/g, '');
+ }
+ }
+
+ // Combine same sections.
+ changelog = combineChangelogSections(changelog);
+
+ // Update the changelog.txt file to include combined changes of all packages.
+ fs.writeFileSync(
+ path.resolve(process.cwd(), 'changelog.txt'),
+ start + changelog + end
+ );
+}
+
+/**
+ * Formats the development changelog string for a given list of pull requests.
*
* @param {IssuesListForRepoResponseItem[]} pullRequests List of pull requests.
*
* @return {string} The formatted changelog string.
*/
-function getChangelog(pullRequests) {
- let changelog = '## Changelog\n\n';
+function getDevelopmentChangelog(pullRequests) {
+ let changelog =
+ '\n' +
+ '\n\n' +
+ '## Development Changelog\n\n' +
+ '
\n\n';
const groupedPullRequests = skipCreatedByBots(pullRequests).reduce(
(
@@ -784,7 +922,7 @@ function getChangelog(pullRequests) {
changelog += '\n';
}
- return changelog;
+ return changelog + '\n\n ';
}
/**
@@ -984,12 +1122,16 @@ async function createChangelog(settings) {
try {
const pullRequests = await fetchAllPullRequests(octokit, settings);
- const changelog = getChangelog(pullRequests);
+ const developmentChangelog = getDevelopmentChangelog(pullRequests);
const contributorProps = getContributorProps(pullRequests);
const contributorsList = getContributorsList(pullRequests);
releaselog = releaselog.concat(
- changelog,
+ getMainChangelog(
+ path.resolve(process.cwd(), settings.file),
+ settings.version
+ ),
+ developmentChangelog,
contributorProps,
contributorsList
);
@@ -1024,6 +1166,8 @@ async function getReleaseChangelog(options) {
})
: options.milestone,
unreleased: options.unreleased,
+ file: options?.file || '',
+ version: options?.version || '',
});
}
@@ -1044,7 +1188,8 @@ async function getReleaseChangelog(options) {
getFormattedItemDescription,
getContributorProps,
getContributorsList,
- getChangelog,
+ updateChangelog,
+ getDevelopmentChangelog,
getUniqueByUsername,
skipCreatedByBots,
mapLabelsToFeatures,
diff --git a/bin/plugin/commands/packages.js b/bin/plugin/commands/packages.js
index 27cc7c941..8c080213d 100644
--- a/bin/plugin/commands/packages.js
+++ b/bin/plugin/commands/packages.js
@@ -26,6 +26,7 @@ const {
} = require('./common');
const { join } = require('path');
const pluginConfig = require('../config');
+const { updateChangelog } = require('./changelog');
/**
* Release type names.
@@ -108,18 +109,14 @@ async function checkoutNpmReleaseBranch({
* @return {?string} The optional commit's hash when changelog files updated.
*/
async function updatePackages(config) {
- const {
- abortMessage,
- gitWorkingDirectoryPath,
- interactive,
- minimumVersionBump,
- releaseType,
- } = config;
+ const { minimumVersionBump, releaseType, version } = config;
const changelogFiles = await glob(
path.resolve(process.cwd(), 'packages/*/CHANGELOG.md')
);
+ updateChangelog(changelogFiles, version);
+
const processedPackages = await Promise.all(
changelogFiles.map(async (changelogPath) => {
const fileStream = fs.createReadStream(changelogPath);
@@ -152,16 +149,31 @@ async function updatePackages(config) {
'CHANGELOG.md',
'package.json'
);
- const { version } = readJSONFile(packageJSONPath);
+ const composerJSONPath = changelogPath.replace(
+ 'CHANGELOG.md',
+ 'composer.json'
+ );
+
+ let jsonData;
+
+ if (fs.existsSync(packageJSONPath)) {
+ jsonData = readJSONFile(packageJSONPath);
+ } else {
+ jsonData = readJSONFile(composerJSONPath);
+ }
+
+ const { version } = jsonData;
+
const nextVersion =
versionBump !== null ? semverInc(version, versionBump) : null;
return {
+ version,
+ nextVersion,
+ packageName,
changelogPath,
packageJSONPath,
- packageName,
- nextVersion,
- version,
+ composerJSONPath,
};
})
);
@@ -184,11 +196,12 @@ async function updatePackages(config) {
await Promise.all(
packagesToUpdate.map(
async ({
+ version,
+ nextVersion,
+ packageName,
changelogPath,
packageJSONPath,
- packageName,
- nextVersion,
- version,
+ composerJSONPath,
}) => {
// Update changelog.
const content = fs.readFileSync(changelogPath, 'utf8');
@@ -204,16 +217,33 @@ async function updatePackages(config) {
)
);
- // Update package.json.
- const packageJson = readJSONFile(packageJSONPath);
- const newPackageJson = {
- ...packageJson,
- version: nextVersion + '-prerelease',
- };
- fs.writeFileSync(
- packageJSONPath,
- JSON.stringify(newPackageJson, null, '\t') + '\n'
- );
+ if (fs.existsSync(packageJSONPath)) {
+ // Update package.json.
+ const packageJson = readJSONFile(packageJSONPath);
+ const newPackageJson = {
+ ...packageJson,
+ version: nextVersion,
+ };
+
+ fs.writeFileSync(
+ packageJSONPath,
+ JSON.stringify(newPackageJson, null, '\t') + '\n'
+ );
+ }
+
+ if (fs.existsSync(composerJSONPath)) {
+ // Update composer.json
+ const composerJson = readJSONFile(composerJSONPath);
+ const newComposerJson = {
+ ...composerJson,
+ version: nextVersion,
+ };
+
+ fs.writeFileSync(
+ composerJSONPath,
+ JSON.stringify(newComposerJson, null, '\t') + '\n'
+ );
+ }
log(
` - ${packageName}: ${version} -> ${
@@ -225,26 +255,6 @@ async function updatePackages(config) {
}
)
);
-
- if (interactive) {
- await askForConfirmation(
- `All corresponding files were updated. Commit the changes?`,
- true,
- abortMessage
- );
- }
-
- const { commit: commitHash } = await SimpleGit(gitWorkingDirectoryPath)
- .add(['./*'])
- .commit('docs: create release changelogs');
-
- if (commitHash) {
- await runPushGitChangesStep(config);
- }
-
- log('>> Changelog files have been updated successfully.');
-
- return commitHash;
}
/**
diff --git a/bin/plugin/commands/test/__snapshots__/changelog.spec.js.snap b/bin/plugin/commands/test/__snapshots__/changelog.spec.js.snap
index 7ebe7e2cf..e8afdd80e 100644
--- a/bin/plugin/commands/test/__snapshots__/changelog.spec.js.snap
+++ b/bin/plugin/commands/test/__snapshots__/changelog.spec.js.snap
@@ -1,7 +1,12 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`getChangelog verify that the changelog is properly formatted 1`] = `
-"## Changelog
+"
+
+
+## Development Changelog
+
+
### Bug Fixes
@@ -41,7 +46,9 @@ exports[`getChangelog verify that the changelog is properly formatted 1`] = `
- refactor: Remove redundant utilities. ([135](https://github.com/blockeraai/blockera/pull/135))
-"
+
+
+ "
`;
exports[`getContributorList verify that the contributors list is properly formatted 1`] = `
diff --git a/blockera.php b/blockera.php
index 37c485cf2..f90eccd62 100644
--- a/blockera.php
+++ b/blockera.php
@@ -2,7 +2,7 @@
/**
* Plugin Name: Blockera
* Plugin URI: https://blockera.ai/blockera-page-builder/
- * Description: The Advanced Mode for Gutenberg
+ * Description: The Advanced Mode for Block Editor
* Requires at least: 6.6
* Tested up to: 6.6
* Requires PHP: 7.4
diff --git a/changelog.txt b/changelog.txt
index afbb881ca..49f5a2b20 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -2,8 +2,6 @@
= 0.9.2 =
-## Changelog
-
- Tweak: Optimized the style generator for faster processing.
- Tweak: General improvements across various functionalities.
- Tweak: Updated breakpoint handling to ensure full compatibility with WordPress 6.5.2 and later versions.
@@ -13,22 +11,16 @@
= 0.9.1 =
-## Changelog
-
- Fix: Breakpoints not showing in Site Editor.
= 0.9.0 =
-## Changelog
-
- Public beta 1 release.
= 0.8 =
-## Changelog
-
- Tweak: Add more E2E, component, and PHP unit tests.
- Tweak: Design improvements.
- Tweak: Border feature functionality + WP data compatibility.
@@ -41,8 +33,6 @@
= 0.7 =
-## Changelog
-
- Tweak: PHP requirement decreased to PHP v7.4.
- Tweak: WP requirement decreased to v6.4.5.
- Tweak: Custom aspect ratio compatibility in WP 6.6 Data.
@@ -63,8 +53,6 @@
= 0.6 =
-## Changelog
-
- New: Experimental feature infrastructure is being developed to enable the shipment of
experimental features in upcoming updates.
@@ -82,8 +70,6 @@
= 0.5 =
-## Changelog
-
- Tweak: 🔥 Reduce the final plugin package file size from 4MB to 1.4MB.
- Tweak: Refactor, redesign, and compress all icons.
- Tweak: Enhance the design.
@@ -98,8 +84,6 @@
= 0.4 =
-## Changelog
-
- Tweak: 🔥 Reduce 50% of the final package.
- Tweak: Improve build script.
- Tweak: Add more E2E tests.
@@ -113,8 +97,6 @@
= 0.3 =
-## Changelog
-
- New: add Github repository link to readme.txt
- New: add composer.json to build zip because the WP.org review team asked
@@ -131,8 +113,6 @@
= 0.2.2 =
-## Changelog
-
- New: Indicator for current responsive breakpoint.
- Tweak: Blocks and admin panel design improvement.
@@ -147,8 +127,6 @@
= 0.2.1 =
-## Changelog
-
- New: Option to disable Blockera power up for user roles (Pro Version).
- New: Advanced option panel reset functionality.
@@ -164,8 +142,6 @@
= 0.2 =
-## Changelog
-
- New: Settings panel to change Blockera behaviors.
- New: Block Manager panel to enable/disable Blockera blocks power up on blocks.
- New: Setting for disabling Pro version hints in setting panel.
@@ -175,14 +151,10 @@
= 0.1.1 =
-## Changelog
-
- Tweak: Smaller build version size (Assets and packages size).
- Tweak: Block inspector control compatibility.
= 0.1 =
-## Changelog
-
- Initial version for WP.org review
diff --git a/composer.lock b/composer.lock
index b4669486e..7cd759e10 100644
--- a/composer.lock
+++ b/composer.lock
@@ -8,11 +8,11 @@
"packages": [
{
"name": "blockera/blockera",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/blockera",
- "reference": "5f542a3fc2fe8f5512f0af4ffe27bf7eff533301"
+ "reference": "4d08c7bf0eb402e719d02777b53474d87478d37c"
},
"type": "library",
"autoload": {
@@ -35,11 +35,11 @@
},
{
"name": "blockera/blockera-admin",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/blockera-admin",
- "reference": "1cdc3b332a40f8290ce3938d0f320ad75b63cc96"
+ "reference": "6bc2464ebe489df7ee3d96956c42ff2875695dfd"
},
"type": "library",
"autoload": {
@@ -57,11 +57,11 @@
},
{
"name": "blockera/blocks-core",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/blocks/core",
- "reference": "bed2b76f7e9529d0a396dfba22be3707a25563f2"
+ "reference": "7f2d8743c6330bd5c755dd20fbbf729afe61dff7"
},
"type": "library",
"autoload": {
@@ -79,11 +79,11 @@
},
{
"name": "blockera/bootstrap",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/bootstrap",
- "reference": "1284b59da551a797ef87d75ec8e97ee2aab9fe61"
+ "reference": "2dea55d0335d92fe63781af3318ecdee6f6ce396"
},
"type": "library",
"autoload": {
@@ -98,11 +98,11 @@
},
{
"name": "blockera/data",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/data",
- "reference": "655ad1b29be83400e43fab3412b611b161f6e4de"
+ "reference": "27983d62451c2a7b19c04f0ed3d7c5a32b09a022"
},
"type": "library",
"autoload": {
@@ -117,11 +117,11 @@
},
{
"name": "blockera/data-editor",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/data-editor",
- "reference": "e9cf17547de8bf3f08e78fdd1a8bb060b8172f02"
+ "reference": "a7230af21431cd8a03c2461c7d9fa03c833f17a3"
},
"type": "library",
"autoload": {
@@ -136,11 +136,11 @@
},
{
"name": "blockera/dev-phpunit",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/dev-phpunit",
- "reference": "44f240028fe3b4adf9a55efba31d5d7ed7ca8d4e"
+ "reference": "ab468206741ab35323b0c2ca50a13ffcfed34120"
},
"type": "library",
"autoload-dev": {
@@ -155,11 +155,11 @@
},
{
"name": "blockera/editor",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/editor",
- "reference": "ef6bbc6acd14110044796c2de4a462e8bcf90f98"
+ "reference": "823e5eba3788597e164e58b842727ec4b3463627"
},
"type": "library",
"autoload": {
@@ -182,11 +182,11 @@
},
{
"name": "blockera/env",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/env",
- "reference": "3a04174b2a568f521e104e8d33d86258f98acd9d"
+ "reference": "1845318bb7e948ad02ce53f3e6dcad62ea15c646"
},
"type": "library",
"autoload": {
@@ -204,11 +204,11 @@
},
{
"name": "blockera/exceptions",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/exceptions",
- "reference": "6fe7db41a858f925b262b457ed9f0a421e42cf34"
+ "reference": "431bbaf6e478bddf8b01e22efc10459dea3f1010"
},
"type": "library",
"autoload": {
@@ -223,11 +223,11 @@
},
{
"name": "blockera/freemius-sdk",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/freemius-sdk",
- "reference": "43f936a583396c750cbc01d00bc9096395a4cdf6"
+ "reference": "c366cd1374a31f71ca2b85a9bb961c3d87815193"
},
"type": "library",
"autoload": {
@@ -242,11 +242,11 @@
},
{
"name": "blockera/http",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/http",
- "reference": "c198b013edb63ef73abe1c7b6a80d184e9513cb4"
+ "reference": "3be77d10351026b4198f47ca7c2daf7fd74635b5"
},
"type": "library",
"autoload": {
@@ -261,11 +261,11 @@
},
{
"name": "blockera/utils",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/utils",
- "reference": "685d33104f94ade181dd764f82b2c6ffafc5d049"
+ "reference": "bebe2129dbb0c3a66f17968803a13983a1fcd220"
},
"type": "library",
"autoload": {
@@ -285,11 +285,11 @@
},
{
"name": "blockera/wordpress",
- "version": "dev-refactor/blocks-selectors",
+ "version": "0.9.2",
"dist": {
"type": "path",
"url": "packages/wordpress",
- "reference": "b2783c3a056b57c4495f24f62d9291922ca41149"
+ "reference": "e098d386c95e2672ebe3b9d4136ef89eff5e128c"
},
"type": "library",
"autoload": {
@@ -653,16 +653,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "0424dff1c58f028c451efff2045f5d92410bd540"
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540",
- "reference": "0424dff1c58f028c451efff2045f5d92410bd540",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
@@ -709,7 +709,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
},
"funding": [
{
@@ -725,7 +725,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T15:07:36+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
@@ -733,16 +733,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "8740a072b86292957feb42703edde77fcfca84fb"
+ "reference": "2369cb908b33d7b7518cce042615de430142497f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8740a072b86292957feb42703edde77fcfca84fb",
- "reference": "8740a072b86292957feb42703edde77fcfca84fb",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2369cb908b33d7b7518cce042615de430142497f",
+ "reference": "2369cb908b33d7b7518cce042615de430142497f",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
@@ -806,7 +806,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-20T08:18:00+00:00"
+ "time": "2024-09-10T14:38:51+00:00"
},
{
"name": "symfony/polyfill-php80",
@@ -814,16 +814,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "77fa7995ac1b21ab60769b7323d600a991a90433"
+ "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433",
- "reference": "77fa7995ac1b21ab60769b7323d600a991a90433",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
+ "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"default-branch": true,
"type": "library",
@@ -871,7 +871,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
},
"funding": [
{
@@ -887,7 +887,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T15:07:36+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "vlucas/phpdotenv",
@@ -982,12 +982,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
- "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a"
+ "reference": "068387cab2f88507f98051c9e3f0a10366966e8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/063d9aa8696582f5a41dffbbaf3c81024f0a604a",
- "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/068387cab2f88507f98051c9e3f0a10366966e8c",
+ "reference": "068387cab2f88507f98051c9e3f0a10366966e8c",
"shasum": ""
},
"require": {
@@ -997,8 +997,8 @@
},
"require-dev": {
"phpstan/phpstan": "^1.10",
+ "phpunit/phpunit": "^8 || ^9",
"psr/log": "^1.0 || ^2.0 || ^3.0",
- "symfony/phpunit-bridge": "^4.2 || ^5",
"symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0"
},
"default-branch": true,
@@ -1035,7 +1035,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/ca-bundle/issues",
- "source": "https://github.com/composer/ca-bundle/tree/1.5.1"
+ "source": "https://github.com/composer/ca-bundle/tree/main"
},
"funding": [
{
@@ -1051,7 +1051,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-08T15:28:20+00:00"
+ "time": "2024-08-23T14:36:22+00:00"
},
{
"name": "composer/class-map-generator",
@@ -1059,12 +1059,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/class-map-generator.git",
- "reference": "b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3"
+ "reference": "465b1b0a7a5f3f73e7e4ab1aed3e529ff9bcfb76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/class-map-generator/zipball/b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3",
- "reference": "b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3",
+ "url": "https://api.github.com/repos/composer/class-map-generator/zipball/465b1b0a7a5f3f73e7e4ab1aed3e529ff9bcfb76",
+ "reference": "465b1b0a7a5f3f73e7e4ab1aed3e529ff9bcfb76",
"shasum": ""
},
"require": {
@@ -1077,8 +1077,8 @@
"phpstan/phpstan-deprecation-rules": "^1",
"phpstan/phpstan-phpunit": "^1",
"phpstan/phpstan-strict-rules": "^1.1",
- "symfony/filesystem": "^5.4 || ^6",
- "symfony/phpunit-bridge": "^5"
+ "phpunit/phpunit": "^8",
+ "symfony/filesystem": "^5.4 || ^6"
},
"default-branch": true,
"type": "library",
@@ -1109,7 +1109,7 @@
],
"support": {
"issues": "https://github.com/composer/class-map-generator/issues",
- "source": "https://github.com/composer/class-map-generator/tree/1.3.4"
+ "source": "https://github.com/composer/class-map-generator/tree/main"
},
"funding": [
{
@@ -1125,7 +1125,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-12T14:13:04+00:00"
+ "time": "2024-08-23T13:24:05+00:00"
},
{
"name": "composer/composer",
@@ -1133,16 +1133,16 @@
"source": {
"type": "git",
"url": "https://github.com/composer/composer.git",
- "reference": "d3d378184bf1ae88abb1c3c9f8d0c26de5ea2744"
+ "reference": "e4038e5e3bffe22cb815dc1663ea76be96d4222e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/composer/zipball/d3d378184bf1ae88abb1c3c9f8d0c26de5ea2744",
- "reference": "d3d378184bf1ae88abb1c3c9f8d0c26de5ea2744",
+ "url": "https://api.github.com/repos/composer/composer/zipball/e4038e5e3bffe22cb815dc1663ea76be96d4222e",
+ "reference": "e4038e5e3bffe22cb815dc1663ea76be96d4222e",
"shasum": ""
},
"require": {
- "composer/ca-bundle": "^1.0",
+ "composer/ca-bundle": "^1.5",
"composer/class-map-generator": "^1.3.3",
"composer/metadata-minifier": "^1.0",
"composer/pcre": "^2.2 || ^3.2",
@@ -1152,17 +1152,17 @@
"justinrainbow/json-schema": "^5.3",
"php": "^7.2.5 || ^8.0",
"psr/log": "^1.0 || ^2.0 || ^3.0",
- "react/promise": "^2.8 || ^3",
+ "react/promise": "^3.2",
"seld/jsonlint": "^1.4",
"seld/phar-utils": "^1.2",
"seld/signal-handler": "^2.0",
- "symfony/console": "^5.4.11 || ^6.0.11 || ^7",
- "symfony/filesystem": "^5.4 || ^6.0 || ^7",
- "symfony/finder": "^5.4 || ^6.0 || ^7",
+ "symfony/console": "^5.4.35 || ^6.3.12 || ^7.0.3",
+ "symfony/filesystem": "^5.4.35 || ^6.3.12 || ^7.0.3",
+ "symfony/finder": "^5.4.35 || ^6.3.12 || ^7.0.3",
"symfony/polyfill-php73": "^1.24",
"symfony/polyfill-php80": "^1.24",
"symfony/polyfill-php81": "^1.24",
- "symfony/process": "^5.4 || ^6.0 || ^7"
+ "symfony/process": "^5.4.35 || ^6.3.12 || ^7.0.3"
},
"require-dev": {
"phpstan/phpstan": "^1.11.8",
@@ -1170,7 +1170,7 @@
"phpstan/phpstan-phpunit": "^1.4.0",
"phpstan/phpstan-strict-rules": "^1.6.0",
"phpstan/phpstan-symfony": "^1.4.0",
- "symfony/phpunit-bridge": "^6.4.1 || ^7.0.1"
+ "symfony/phpunit-bridge": "^6.4.3 || ^7.0.1"
},
"suggest": {
"ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages",
@@ -1240,7 +1240,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-26T14:21:02+00:00"
+ "time": "2024-09-04T12:43:28+00:00"
},
{
"name": "composer/metadata-minifier",
@@ -1248,12 +1248,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/metadata-minifier.git",
- "reference": "c549d23829536f0d0e984aaabbf02af91f443207"
+ "reference": "20554d4accbd0734deca18fa5075ba48fd5e8e57"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207",
- "reference": "c549d23829536f0d0e984aaabbf02af91f443207",
+ "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/20554d4accbd0734deca18fa5075ba48fd5e8e57",
+ "reference": "20554d4accbd0734deca18fa5075ba48fd5e8e57",
"shasum": ""
},
"require": {
@@ -1294,7 +1294,7 @@
],
"support": {
"issues": "https://github.com/composer/metadata-minifier/issues",
- "source": "https://github.com/composer/metadata-minifier/tree/1.0.0"
+ "source": "https://github.com/composer/metadata-minifier/tree/main"
},
"funding": [
{
@@ -1310,7 +1310,7 @@
"type": "tidelift"
}
],
- "time": "2021-04-07T13:37:33+00:00"
+ "time": "2024-08-22T15:54:53+00:00"
},
{
"name": "composer/pcre",
@@ -1318,22 +1318,22 @@
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90"
+ "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/ea4ab6f9580a4fd221e0418f2c357cdd39102a90",
- "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4",
+ "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0"
},
"conflict": {
- "phpstan/phpstan": "<1.11.8"
+ "phpstan/phpstan": "<1.11.10"
},
"require-dev": {
- "phpstan/phpstan": "^1.11.8",
+ "phpstan/phpstan": "^1.11.10",
"phpstan/phpstan-strict-rules": "^1.1",
"phpunit/phpunit": "^8 || ^9"
},
@@ -1374,7 +1374,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.2.0"
+ "source": "https://github.com/composer/pcre/tree/3.3.1"
},
"funding": [
{
@@ -1390,7 +1390,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-25T09:36:02+00:00"
+ "time": "2024-08-27T18:44:43+00:00"
},
{
"name": "composer/semver",
@@ -1398,20 +1398,20 @@
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6"
+ "reference": "66560258514d406a04b08f12488769936cf1248d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6",
- "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6",
+ "url": "https://api.github.com/repos/composer/semver/zipball/66560258514d406a04b08f12488769936cf1248d",
+ "reference": "66560258514d406a04b08f12488769936cf1248d",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpstan/phpstan": "^1.4",
- "symfony/phpunit-bridge": "^4.2 || ^5"
+ "phpstan/phpstan": "^1.11",
+ "symfony/phpunit-bridge": "^3 || ^7"
},
"default-branch": true,
"type": "library",
@@ -1456,7 +1456,7 @@
"support": {
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.4.2"
+ "source": "https://github.com/composer/semver/tree/main"
},
"funding": [
{
@@ -1472,7 +1472,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-12T11:35:52+00:00"
+ "time": "2024-08-26T15:05:29+00:00"
},
{
"name": "composer/spdx-licenses",
@@ -1480,20 +1480,20 @@
"source": {
"type": "git",
"url": "https://github.com/composer/spdx-licenses.git",
- "reference": "9befc2a0c2b0a1e08712b60f700596b17ed14368"
+ "reference": "614a1b86ff628ca7e0713f733ee09f94569548b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/9befc2a0c2b0a1e08712b60f700596b17ed14368",
- "reference": "9befc2a0c2b0a1e08712b60f700596b17ed14368",
+ "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/614a1b86ff628ca7e0713f733ee09f94569548b0",
+ "reference": "614a1b86ff628ca7e0713f733ee09f94569548b0",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpstan/phpstan": "^0.12.55",
- "symfony/phpunit-bridge": "^4.2 || ^5"
+ "phpstan/phpstan": "^1.11",
+ "symfony/phpunit-bridge": "^3 || ^7"
},
"default-branch": true,
"type": "library",
@@ -1553,7 +1553,7 @@
"type": "tidelift"
}
],
- "time": "2023-11-20T07:47:23+00:00"
+ "time": "2024-08-26T15:22:11+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -2708,28 +2708,28 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "328a747f499cca790acff5634a4e55b957f40634"
+ "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/328a747f499cca790acff5634a4e55b957f40634",
- "reference": "328a747f499cca790acff5634a4e55b957f40634",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5",
+ "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.18 || ^5.0",
+ "nikic/php-parser": "^4.19.1 || ^5.1.0",
"php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
- "theseer/tokenizer": "^1.2.0"
+ "phpunit/php-file-iterator": "^3.0.6",
+ "phpunit/php-text-template": "^2.0.4",
+ "sebastian/code-unit-reverse-lookup": "^2.0.3",
+ "sebastian/complexity": "^2.0.3",
+ "sebastian/environment": "^5.1.5",
+ "sebastian/lines-of-code": "^1.0.4",
+ "sebastian/version": "^3.0.2",
+ "theseer/tokenizer": "^1.2.3"
},
"require-dev": {
"phpunit/phpunit": "^9.6"
@@ -2770,7 +2770,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32"
},
"funding": [
{
@@ -2778,7 +2778,7 @@
"type": "github"
}
],
- "time": "2024-07-17T05:19:21+00:00"
+ "time": "2024-08-22T04:23:01+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -3027,12 +3027,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "846c7cefad8824f281f521b9625dd301064ead88"
+ "reference": "ea71f89be82e7fa940ee0bb9500722a6dfafeb71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/846c7cefad8824f281f521b9625dd301064ead88",
- "reference": "846c7cefad8824f281f521b9625dd301064ead88",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea71f89be82e7fa940ee0bb9500722a6dfafeb71",
+ "reference": "ea71f89be82e7fa940ee0bb9500722a6dfafeb71",
"shasum": ""
},
"require": {
@@ -3047,7 +3047,7 @@
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.31",
+ "phpunit/php-code-coverage": "^9.2.32",
"phpunit/php-file-iterator": "^3.0.6",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.4",
@@ -3122,7 +3122,7 @@
"type": "tidelift"
}
],
- "time": "2024-08-14T08:16:04+00:00"
+ "time": "2024-09-07T13:09:31+00:00"
},
{
"name": "psr/log",
@@ -4330,24 +4330,24 @@
"source": {
"type": "git",
"url": "https://github.com/Seldaek/signal-handler.git",
- "reference": "a6ce6557ca047be383a1a45b23b7668f9b8b31c2"
+ "reference": "606a192bf4783dd811b906e4a64b0866d16e61a9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/a6ce6557ca047be383a1a45b23b7668f9b8b31c2",
- "reference": "a6ce6557ca047be383a1a45b23b7668f9b8b31c2",
+ "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/606a192bf4783dd811b906e4a64b0866d16e61a9",
+ "reference": "606a192bf4783dd811b906e4a64b0866d16e61a9",
"shasum": ""
},
"require": {
"php": ">=7.2.0"
},
"require-dev": {
- "phpstan/phpstan": "^1",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1",
- "phpstan/phpstan-strict-rules": "^1.3",
- "phpunit/phpunit": "^7.5.20 || ^8.5.23",
- "psr/log": "^1 || ^2 || ^3"
+ "phpstan/phpstan": "^1.11.11",
+ "phpstan/phpstan-deprecation-rules": "^1.2",
+ "phpstan/phpstan-phpunit": "^1.4",
+ "phpstan/phpstan-strict-rules": "^1.6",
+ "phpunit/phpunit": "^8.5.38 || ^9.6.20",
+ "psr/log": "^1.1.4 || ^2 || ^3"
},
"default-branch": true,
"type": "library",
@@ -4384,7 +4384,7 @@
"issues": "https://github.com/Seldaek/signal-handler/issues",
"source": "https://github.com/Seldaek/signal-handler/tree/main"
},
- "time": "2024-07-05T06:51:42+00:00"
+ "time": "2024-08-23T08:24:29+00:00"
},
{
"name": "squizlabs/php_codesniffer",
@@ -4392,12 +4392,12 @@
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "41a426cac70d410183189bc31c63f474f6f53548"
+ "reference": "c0e8f4de2884a52af95ee4f516e247ff1048413b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/41a426cac70d410183189bc31c63f474f6f53548",
- "reference": "41a426cac70d410183189bc31c63f474f6f53548",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/c0e8f4de2884a52af95ee4f516e247ff1048413b",
+ "reference": "c0e8f4de2884a52af95ee4f516e247ff1048413b",
"shasum": ""
},
"require": {
@@ -4465,7 +4465,7 @@
"type": "open_collective"
}
],
- "time": "2024-08-17T17:43:40+00:00"
+ "time": "2024-09-09T20:17:06+00:00"
},
{
"name": "symfony/console",
@@ -4473,12 +4473,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "e86f8554de667c16dde8aeb89a3990cfde924df9"
+ "reference": "7a7ce2c8b4246fdfc8bd42dff781298edeb54dd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/e86f8554de667c16dde8aeb89a3990cfde924df9",
- "reference": "e86f8554de667c16dde8aeb89a3990cfde924df9",
+ "url": "https://api.github.com/repos/symfony/console/zipball/7a7ce2c8b4246fdfc8bd42dff781298edeb54dd2",
+ "reference": "7a7ce2c8b4246fdfc8bd42dff781298edeb54dd2",
"shasum": ""
},
"require": {
@@ -4564,7 +4564,7 @@
"type": "tidelift"
}
],
- "time": "2024-08-13T16:31:56+00:00"
+ "time": "2024-09-05T16:13:22+00:00"
},
{
"name": "symfony/css-selector",
@@ -4910,16 +4910,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a"
+ "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a",
- "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
+ "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
@@ -4965,7 +4965,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
},
"funding": [
{
@@ -4981,7 +4981,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T15:07:36+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
@@ -4989,16 +4989,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb"
+ "reference": "3833d7255cc303546435cb650316bff708a1c75c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb",
- "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
+ "reference": "3833d7255cc303546435cb650316bff708a1c75c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
@@ -5047,7 +5047,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
},
"funding": [
{
@@ -5063,7 +5063,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T15:07:36+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php73",
@@ -5071,16 +5071,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1"
+ "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ec444d3f3f6505bb28d11afa41e75faadebc10a1",
- "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
+ "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"default-branch": true,
"type": "library",
@@ -5124,7 +5124,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.30.0"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
},
"funding": [
{
@@ -5140,7 +5140,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T15:07:36+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php81",
@@ -5148,16 +5148,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af"
+ "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af",
- "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
+ "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"default-branch": true,
"type": "library",
@@ -5201,7 +5201,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
},
"funding": [
{
@@ -5217,7 +5217,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-19T12:30:46+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/process",
@@ -5225,12 +5225,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "deedcb3bb4669cae2148bc920eafd2b16dc7c046"
+ "reference": "32354f62488486b6efcbcd61a1dc8a619287fd29"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/deedcb3bb4669cae2148bc920eafd2b16dc7c046",
- "reference": "deedcb3bb4669cae2148bc920eafd2b16dc7c046",
+ "url": "https://api.github.com/repos/symfony/process/zipball/32354f62488486b6efcbcd61a1dc8a619287fd29",
+ "reference": "32354f62488486b6efcbcd61a1dc8a619287fd29",
"shasum": ""
},
"require": {
@@ -5279,7 +5279,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:33:22+00:00"
+ "time": "2024-09-05T16:13:22+00:00"
},
{
"name": "symfony/service-contracts",
@@ -5456,12 +5456,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "5051452846348f5d2fb77ca7a66aa340b5ef14ce"
+ "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/5051452846348f5d2fb77ca7a66aa340b5ef14ce",
- "reference": "5051452846348f5d2fb77ca7a66aa340b5ef14ce",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6be6a6a8af4818564e3726fc65cf936f34743cef",
+ "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef",
"shasum": ""
},
"require": {
@@ -5537,7 +5537,7 @@
"type": "tidelift"
}
],
- "time": "2024-08-13T13:55:12+00:00"
+ "time": "2024-08-30T16:01:46+00:00"
},
{
"name": "theseer/tokenizer",
@@ -5595,12 +5595,12 @@
"source": {
"type": "git",
"url": "https://github.com/voku/simple_html_dom.git",
- "reference": "716822ed52ed3a1881542be07a786270de390e99"
+ "reference": "61beaaa809d3c598e1310d32080b2ebbe6ff91d1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/voku/simple_html_dom/zipball/716822ed52ed3a1881542be07a786270de390e99",
- "reference": "716822ed52ed3a1881542be07a786270de390e99",
+ "url": "https://api.github.com/repos/voku/simple_html_dom/zipball/61beaaa809d3c598e1310d32080b2ebbe6ff91d1",
+ "reference": "61beaaa809d3c598e1310d32080b2ebbe6ff91d1",
"shasum": ""
},
"require": {
@@ -5649,7 +5649,7 @@
],
"support": {
"issues": "https://github.com/voku/simple_html_dom/issues",
- "source": "https://github.com/voku/simple_html_dom/tree/4.8.10"
+ "source": "https://github.com/voku/simple_html_dom/tree/master"
},
"funding": [
{
@@ -5669,7 +5669,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-03T16:05:14+00:00"
+ "time": "2024-09-06T07:48:36+00:00"
},
{
"name": "wp-cli/cache-command",
@@ -5753,12 +5753,12 @@
"source": {
"type": "git",
"url": "https://github.com/wp-cli/checksum-command.git",
- "reference": "3313a6bd5510113c649fae4e657a4407346970d3"
+ "reference": "149438e6305662e44ec6261fba2cf6e1d3e09efa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/3313a6bd5510113c649fae4e657a4407346970d3",
- "reference": "3313a6bd5510113c649fae4e657a4407346970d3",
+ "url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/149438e6305662e44ec6261fba2cf6e1d3e09efa",
+ "reference": "149438e6305662e44ec6261fba2cf6e1d3e09efa",
"shasum": ""
},
"require": {
@@ -5805,7 +5805,7 @@
"issues": "https://github.com/wp-cli/checksum-command/issues",
"source": "https://github.com/wp-cli/checksum-command/tree/main"
},
- "time": "2024-08-07T09:42:53+00:00"
+ "time": "2024-08-20T12:25:32+00:00"
},
{
"name": "wp-cli/config-command",
@@ -7726,12 +7726,12 @@
"source": {
"type": "git",
"url": "https://github.com/wp-cli/wp-cli-bundle.git",
- "reference": "94de2d46ae0cbb4c88f2b2c872b84d143dae3fe6"
+ "reference": "4d74dc1ce884c6c543ffc5304f05c2b74f143a2b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wp-cli/wp-cli-bundle/zipball/94de2d46ae0cbb4c88f2b2c872b84d143dae3fe6",
- "reference": "94de2d46ae0cbb4c88f2b2c872b84d143dae3fe6",
+ "url": "https://api.github.com/repos/wp-cli/wp-cli-bundle/zipball/4d74dc1ce884c6c543ffc5304f05c2b74f143a2b",
+ "reference": "4d74dc1ce884c6c543ffc5304f05c2b74f143a2b",
"shasum": ""
},
"require": {
@@ -7792,7 +7792,7 @@
"issues": "https://github.com/wp-cli/wp-cli-bundle/issues",
"source": "https://github.com/wp-cli/wp-cli-bundle"
},
- "time": "2024-08-08T04:38:01+00:00"
+ "time": "2024-08-19T16:19:16+00:00"
},
{
"name": "wp-cli/wp-config-transformer",
@@ -7940,16 +7940,16 @@
},
{
"name": "yoast/phpunit-polyfills",
- "version": "dev-main",
+ "version": "2.x-dev",
"source": {
"type": "git",
"url": "https://github.com/Yoast/PHPUnit-Polyfills.git",
- "reference": "4a088f125c970d6d6ea52c927f96fe39b330d0f1"
+ "reference": "562f449a2ec8ab92fe7b30d94da9622c7b1345fe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/4a088f125c970d6d6ea52c927f96fe39b330d0f1",
- "reference": "4a088f125c970d6d6ea52c927f96fe39b330d0f1",
+ "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/562f449a2ec8ab92fe7b30d94da9622c7b1345fe",
+ "reference": "562f449a2ec8ab92fe7b30d94da9622c7b1345fe",
"shasum": ""
},
"require": {
@@ -7964,7 +7964,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.x-dev"
+ "dev-main": "3.x-dev"
}
},
"autoload": {
@@ -7999,7 +7999,7 @@
"security": "https://github.com/Yoast/PHPUnit-Polyfills/security/policy",
"source": "https://github.com/Yoast/PHPUnit-Polyfills"
},
- "time": "2024-04-05T16:36:44+00:00"
+ "time": "2024-09-06T22:38:28+00:00"
}
],
"aliases": [],
@@ -8023,5 +8023,5 @@
"platform-overrides": {
"php": "7.4"
},
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.6.0"
}
diff --git a/packages/blockera-admin/composer.json b/packages/blockera-admin/composer.json
index ca70e21bc..f1302eb3e 100644
--- a/packages/blockera-admin/composer.json
+++ b/packages/blockera-admin/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/blockera-admin",
+ "version": "0.9.2",
"description": "The blockera admin menus on WordPress admin dashboard.",
"autoload": {
"psr-4": {
diff --git a/packages/blockera-admin/package.json b/packages/blockera-admin/package.json
index 9a18fe802..0ef52d662 100644
--- a/packages/blockera-admin/package.json
+++ b/packages/blockera-admin/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/blockera-admin",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "The blockera admin menus on WordPress admin dashboard.",
"author": "The Blockera Contributors",
"license": "ISC",
diff --git a/packages/blockera/CHANGELOG.md b/packages/blockera/CHANGELOG.md
index 738d515af..3cba79093 100644
--- a/packages/blockera/CHANGELOG.md
+++ b/packages/blockera/CHANGELOG.md
@@ -9,6 +9,7 @@
- Prevent of generated duplicate css props
- Background feature CSS generator issues.
- Some PHP warnings and errors.
+- Fix: editor bootstrapper e2e test problems.
### New Features
diff --git a/packages/blockera/composer.json b/packages/blockera/composer.json
index dce53cd00..9287a7e88 100644
--- a/packages/blockera/composer.json
+++ b/packages/blockera/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/blockera",
+ "version": "0.9.2",
"description": "The bootstrapper for blockera php application for WordPress in admin and front-end sides.",
"autoload": {
"psr-4": {
diff --git a/packages/blockera/js/test/editor.bootstrap.e2e.cy.js b/packages/blockera/js/test/editor.bootstrap.e2e.cy.js
index 004502c05..9491cdc88 100644
--- a/packages/blockera/js/test/editor.bootstrap.e2e.cy.js
+++ b/packages/blockera/js/test/editor.bootstrap.e2e.cy.js
@@ -1,13 +1,7 @@
/**
* Blockera dependencies
*/
-import {
- createPost,
- getBlockType,
- addBlockToPost,
- getWPDataObject,
- getWindowProperty,
-} from '@blockera/dev-cypress/js/helpers';
+import { createPost } from '@blockera/dev-cypress/js/helpers';
/**
* Blockera editor bootstrap scenarios.
@@ -19,14 +13,19 @@ describe('Blockera editor bootstrapper', () => {
it('should available store apis on blockera editor global variable', () => {
createPost();
- getWindowProperty('blockeraEditor_1_0_0').then((data) => {
+ cy.window().then((win) => {
+ const blockeraEditorKey = Object.keys(win).filter((key) =>
+ /blockeraEditor_/.test(key)
+ );
+ const blockeraEditor = win[blockeraEditorKey];
+
expect(true).to.eq(
- data.editor.hasOwnProperty(
+ blockeraEditor.editor.hasOwnProperty(
'unstableRegistrationBlockTypeAttributes'
)
);
expect(true).to.eq(
- data.editor.hasOwnProperty(
+ blockeraEditor.editor.hasOwnProperty(
'unstableRegistrationSharedBlockAttributes'
)
);
diff --git a/packages/blockera/js/test/editor.woocommerce.e2e.cy.js b/packages/blockera/js/test/editor.woocommerce.e2e.cy.js
index dd62cf7b4..9a8be20fe 100644
--- a/packages/blockera/js/test/editor.woocommerce.e2e.cy.js
+++ b/packages/blockera/js/test/editor.woocommerce.e2e.cy.js
@@ -29,7 +29,8 @@ describe('Blockera editor bootstrapper', () => {
cy.getBlock('woocommerce/all-products').click();
cy.getByAriaLabel(`Edit the layout of each product`).click();
- cy.get(`[data-type="woocommerce/product-price"]`).click();
+
+ cy.getBlock('woocommerce/product-price').should('be.visible').click();
cy.getByAriaLabel('Add New Background').should('exist');
diff --git a/packages/blockera/package.json b/packages/blockera/package.json
index fbec61aac..a54cda547 100644
--- a/packages/blockera/package.json
+++ b/packages/blockera/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/blockera",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "The bootstrapper for blockera react application for WordPress site and block editors.",
"author": "The Blockera Core Contributors",
"license": "ISC",
diff --git a/packages/blocks/core/composer.json b/packages/blocks/core/composer.json
index 504577747..075977340 100644
--- a/packages/blocks/core/composer.json
+++ b/packages/blocks/core/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/blocks-core",
+ "version": "0.9.2",
"description": "The WordPress core blocks package for Blockera editor.",
"autoload": {
"psr-4": {
diff --git a/packages/blocks/core/js/wordpress/columns/test/block-attributes.blocks.e2e.cy.js b/packages/blocks/core/js/wordpress/columns/test/block-attributes.blocks.e2e.cy.js
index 783317646..4ec6057d8 100644
--- a/packages/blocks/core/js/wordpress/columns/test/block-attributes.blocks.e2e.cy.js
+++ b/packages/blocks/core/js/wordpress/columns/test/block-attributes.blocks.e2e.cy.js
@@ -17,7 +17,7 @@ describe('Testing core/columns block registered default attributes value', () =>
it('should valid sets default blockeraDisplay attribute value', () => {
addBlockToPost('core/columns');
- cy.getBlock('core/columns').first().click();
+ cy.getBlock('core/columns').first().click({ force: true });
getWPDataObject().then((data) => {
const attributes = getBlockType(data, 'core/columns').attributes;
diff --git a/packages/blocks/core/js/wordpress/group/test/gap-type-gap-and-margin.e2e.cy.js b/packages/blocks/core/js/wordpress/group/test/gap-type-gap-and-margin.e2e.cy.js
index 81f5261ea..f5e8f1bc7 100644
--- a/packages/blocks/core/js/wordpress/group/test/gap-type-gap-and-margin.e2e.cy.js
+++ b/packages/blocks/core/js/wordpress/group/test/gap-type-gap-and-margin.e2e.cy.js
@@ -188,6 +188,8 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
cy.getByAriaLabel('Row').click();
});
+ cy.getByDataTest('matrix-top-left-normal').click();
+
cy.getParentContainer('Gap').within(() => {
cy.get('input').type(100);
});
@@ -203,11 +205,17 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
cy.getBlock('core/paragraph')
.first()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
cy.getBlock('core/paragraph')
.last()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
//Check frontend
savePage();
@@ -226,9 +234,19 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
//
// Assert child block to have valid property for gap
//
+ cy.get('.wp-block-group.blockera-block p')
+ .first()
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
cy.get('.wp-block-group.blockera-block p')
.last()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
});
it('Unlocked gap - the css property should be gap', () => {
@@ -261,6 +279,8 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
cy.getByAriaLabel('Row').click();
});
+ cy.getByDataTest('matrix-top-left-normal').click();
+
cy.getParentContainer('Gap').within(() => {
cy.get('input').type(100);
@@ -279,11 +299,17 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
cy.getBlock('core/paragraph')
.first()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
cy.getBlock('core/paragraph')
.last()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
//Check frontend
savePage();
@@ -302,9 +328,202 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
//
// Assert child block to have valid property for gap
//
+ cy.get('.wp-block-group.blockera-block p')
+ .first()
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
cy.get('.wp-block-group.blockera-block p')
.last()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+ });
+
+ it('Nested group + dynamic change in CSS selector - the css property should be gap', () => {
+ appendBlocks(
+ `
+
+
Paragraph 1
+
+
+
+
Paragraph 2
+
+
+
+
+
Paragraph 3
+
+
+
+
Paragraph 4
+
+
+
+`
+ );
+
+ //
+ // Parent Group
+ //
+
+ // Select target block
+ cy.getBlock('core/paragraph').first().click();
+
+ // Switch to parent block
+ cy.getByAriaLabel('Select parent block: Group').click();
+
+ // switch to style tab
+ cy.getByDataTest('style-tab').click();
+
+ cy.getParentContainer('Display').within(() => {
+ cy.getByAriaLabel('Flex').click();
+ });
+
+ cy.getParentContainer('Flex Layout').within(() => {
+ cy.getByAriaLabel('Row').click();
+ });
+
+ cy.getByDataTest('matrix-top-left-normal').click();
+
+ cy.getParentContainer('Gap').within(() => {
+ cy.get('input').type(100);
+ });
+
+ //
+ // Asset group block CSS
+ //
+ cy.getBlock('core/group').should('have.css', 'gap', '100px');
+
+ //
+ // Assert child block to have valid property for gap
+ //
+
+ cy.getBlock('core/paragraph')
+ .eq(0)
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
+ cy.getBlock('core/paragraph')
+ .eq(1)
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
+ //
+ // Inner Group
+ //
+
+ cy.getBlock('core/paragraph').eq(3).click();
+
+ // Switch to parent block
+ cy.getByAriaLabel('Select parent block: Group').click();
+
+ // switch to style tab
+ cy.getByDataTest('style-tab').click();
+
+ cy.getParentContainer('Display').within(() => {
+ cy.getByAriaLabel('Flex').click();
+ });
+
+ cy.getParentContainer('Flex Layout').within(() => {
+ cy.getByAriaLabel('Row').click();
+ });
+
+ cy.getByDataTest('matrix-top-right-normal').click();
+
+ cy.getParentContainer('Gap').within(() => {
+ cy.get('input').type(200);
+ });
+
+ //
+ // Asset group block CSS
+ //
+ cy.getBlock('core/group').eq(1).should('have.css', 'gap', '200px');
+
+ //
+ // Assert child block to have valid property for gap
+ //
+
+ cy.getBlock('core/paragraph')
+ .eq(2)
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
+ cy.getBlock('core/paragraph')
+ .eq(3)
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-end');
+
+ //Check frontend
+ savePage();
+
+ redirectToFrontPage();
+
+ //
+ // Asset group block CSS
+ //
+
+ //
+ // Parent Group
+ //
+
+ cy.get('.wp-block-group.blockera-block')
+ .eq(0)
+ .should('have.css', 'gap', '100px');
+
+ //
+ // Assert child block to have valid property for gap
+ //
+ cy.get('.wp-block-group.blockera-block p')
+ .eq(0)
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
+ cy.get('.wp-block-group.blockera-block p')
+ .eq(1)
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
+ //
+ // Inner Group
+ //
+
+ cy.get('.wp-block-group.blockera-block')
+ .eq(1)
+ .should('have.css', 'gap', '200px');
+
+ //
+ // Assert child block to have valid property for gap
+ //
+ cy.get('.wp-block-group.blockera-block p')
+ .eq(2)
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-end');
+
+ cy.get('.wp-block-group.blockera-block p')
+ .eq(3)
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-end');
});
});
@@ -339,6 +558,8 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
cy.getByAriaLabel('Column').click();
});
+ cy.getByDataTest('matrix-top-left-normal').click();
+
cy.getParentContainer('Gap').within(() => {
cy.get('input').type(100);
});
@@ -354,11 +575,17 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
cy.getBlock('core/paragraph')
.first()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
cy.getBlock('core/paragraph')
.last()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
//Check frontend
savePage();
@@ -377,9 +604,19 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
//
// Assert child block to have valid property for gap
//
+ cy.get('.wp-block-group.blockera-block p')
+ .first()
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
cy.get('.wp-block-group.blockera-block p')
.last()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
});
it('Unlocked gap - the css property should be gap', () => {
@@ -412,6 +649,8 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
cy.getByAriaLabel('Column').click();
});
+ cy.getByDataTest('matrix-top-left-normal').click();
+
cy.getParentContainer('Gap').within(() => {
cy.get('input').type(100);
@@ -430,11 +669,17 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
cy.getBlock('core/paragraph')
.first()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
cy.getBlock('core/paragraph')
.last()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
//Check frontend
savePage();
@@ -453,9 +698,19 @@ describe('Gap → Functionality (Type: gap-and-margin)', () => {
//
// Assert child block to have valid property for gap
//
+ cy.get('.wp-block-group.blockera-block p')
+ .first()
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
+
cy.get('.wp-block-group.blockera-block p')
.last()
- .should('have.css', 'margin-block-start', '0px');
+ .should('have.css', 'margin-block-start', '0px')
+ .should('not.have.css', 'flex-direction', 'column')
+ .should('not.have.css', 'align-items', 'flex-start')
+ .should('not.have.css', 'justify-content', 'flex-start');
});
});
diff --git a/packages/blocks/core/package.json b/packages/blocks/core/package.json
index 36b34ff20..ce10ec739 100644
--- a/packages/blocks/core/package.json
+++ b/packages/blocks/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/blocks-core",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "A blocks package to includes all core blocks and third-party blocks to compatible with blockera extensions.",
"author": "The Blockera Contributors",
"license": "ISC",
diff --git a/packages/bootstrap/composer.json b/packages/bootstrap/composer.json
index 61982d579..c5239d881 100644
--- a/packages/bootstrap/composer.json
+++ b/packages/bootstrap/composer.json
@@ -1,9 +1,10 @@
{
"name": "blockera/bootstrap",
+ "version": "0.9.2",
"description": "The initializer blockera any application on wordpress site.",
"autoload": {
"psr-4": {
- "Blockera\\Bootstrap\\": "php/"
+ "Blockera\\Bootstrap\\": "php/"
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/bootstrap/package.json b/packages/bootstrap/package.json
index 7899f2043..5210e069f 100644
--- a/packages/bootstrap/package.json
+++ b/packages/bootstrap/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/bootstrap",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "The initializer react application on wordpress site and block editor.",
"author": "The Blockera Core Contributors",
"license": "ISC",
@@ -8,7 +8,7 @@
"blockera",
"core",
"bootstrap",
- "initliazer"
+ "initliazer"
],
"homepage": "https://github.com/blockeraai/blockera/blob/master/packages/bootstrap/README.md",
"repository": {
@@ -23,4 +23,4 @@
"node": ">=12"
},
"main": "js/index.js"
-}
\ No newline at end of file
+}
diff --git a/packages/classnames/package.json b/packages/classnames/package.json
index 5b9a8f7a8..6200e2a16 100644
--- a/packages/classnames/package.json
+++ b/packages/classnames/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/classnames",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Css classnames generator for Blockera Core.",
"author": "The Blockera Contributors",
"license": "ISC",
@@ -12,11 +12,11 @@
"homepage": "https://github.com/blockeraai/blockera/blob/master/packages/classnames/README.md",
"repository": {
"type": "git",
- "url": "https://github.com/blockeraai/blockera",
+ "url": "https://github.com/blockeraai/blockera",
"directory": "packages/classnames"
},
"bugs": {
- "url": "https://github.com/blockeraai/blockera/issues"
+ "url": "https://github.com/blockeraai/blockera/issues"
},
"engines": {
"node": ">=12"
diff --git a/packages/controls/CHANGELOG.md b/packages/controls/CHANGELOG.md
index 86bc0ebe1..6ede73136 100644
--- a/packages/controls/CHANGELOG.md
+++ b/packages/controls/CHANGELOG.md
@@ -7,3 +7,4 @@
### Improvements
- Improve transform controls popover design.
+- Notice control design improvement.
diff --git a/packages/controls/js/libs/base-control/style.scss b/packages/controls/js/libs/base-control/style.scss
index 397f3519f..a01bf657e 100644
--- a/packages/controls/js/libs/base-control/style.scss
+++ b/packages/controls/js/libs/base-control/style.scss
@@ -97,9 +97,13 @@
}
}
-*:not(.blockera-field):not(.blockera-component-flex):not(.blockera-component-grid) > .blockera-field + .blockera-component-feature-wrapper,
-*:not(.blockera-field):not(.blockera-component-flex):not(.blockera-component-grid) > .blockera-component-feature-wrapper + .blockera-component-feature-wrapper,
-*:not(.blockera-field):not(.blockera-component-flex):not(.blockera-component-grid) > .blockera-component-feature-wrapper + .blockera-field,
-*:not(.blockera-field):not(.blockera-component-flex):not(.blockera-component-grid) > .blockera-field + .blockera-field {
- margin-top: 15px;
+*:not(.blockera-field):not(.blockera-component-flex):not(.blockera-component-grid) {
+
+ & > .blockera-field + .blockera-component-feature-wrapper,
+ & > .blockera-component-feature-wrapper + .blockera-component-feature-wrapper,
+ & > .blockera-control-notice + .blockera-field,
+ & > .blockera-component-feature-wrapper + .blockera-field,
+ & > .blockera-field + .blockera-field {
+ margin-top: 15px;
+ }
}
diff --git a/packages/controls/package.json b/packages/controls/package.json
index a25f862dd..f209a9937 100644
--- a/packages/controls/package.json
+++ b/packages/controls/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/controls",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "UI react.js components as controls for Blockera Core.",
"author": "The Contributors",
"license": "ISC",
@@ -16,10 +16,10 @@
"directory": "packages/controls"
},
"bugs": {
- "url": "https://github.com/blockeraai/blockera/issues"
+ "url": "https://github.com/blockeraai/blockera/issues"
},
"engines": {
"node": ">=12"
},
"main": "js/index.js"
-}
\ No newline at end of file
+}
diff --git a/packages/data-editor/composer.json b/packages/data-editor/composer.json
index f2801f72c..185b8ae81 100644
--- a/packages/data-editor/composer.json
+++ b/packages/data-editor/composer.json
@@ -1,9 +1,10 @@
{
"name": "blockera/data-editor",
+ "version": "0.9.2",
"description": "Blockera Data Editor package to access all property value with tokenized string.",
"autoload": {
"psr-4": {
- "Blockera\\DataEditor\\": "php/"
+ "Blockera\\DataEditor\\": "php/"
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/data-editor/package.json b/packages/data-editor/package.json
index e8a3dab13..9ebc353c0 100644
--- a/packages/data-editor/package.json
+++ b/packages/data-editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/data-editor",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Blockera Data Editor package to access and manipulate all property value with tokenized string.",
"author": "The Blockera Contributors",
"license": "ISC",
@@ -8,7 +8,7 @@
"blockera",
"wordpress",
"gutenberg",
- "data-editor",
+ "data-editor",
"data-extractor"
],
"homepage": "https://github.com/blockeraai/blockera/blob/master/packages/data-editor/README.md",
diff --git a/packages/data/composer.json b/packages/data/composer.json
index b0575c9b3..80df96f4a 100644
--- a/packages/data/composer.json
+++ b/packages/data/composer.json
@@ -1,9 +1,10 @@
{
"name": "blockera/data",
+ "version": "0.9.2",
"description": "Core Data is a data module intended to simplify access and manipulation to core WordPress and entities.",
"autoload": {
"psr-4": {
- "Blockera\\Data\\": "php/"
+ "Blockera\\Data\\": "php/"
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/data/package.json b/packages/data/package.json
index b2f19befb..ff095064f 100644
--- a/packages/data/package.json
+++ b/packages/data/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/data",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Core Data is a data module intended to simplify access and manipulation to core WordPress and entities.",
"author": "The Contributors",
"license": "ISC",
@@ -14,7 +14,7 @@
"directory": "packages/data"
},
"bugs": {
- "url": "https://github.com/blockeraai/blockera/issues"
+ "url": "https://github.com/blockeraai/blockera/issues"
},
"engines": {
"node": ">=12"
diff --git a/packages/dev-cypress/package.json b/packages/dev-cypress/package.json
index d03bbc126..9868ea0ae 100644
--- a/packages/dev-cypress/package.json
+++ b/packages/dev-cypress/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/dev-cypress",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Blockera Cypress config and helpers",
"main": "js/index.js",
"keywords": [
diff --git a/packages/dev-jest/package.json b/packages/dev-jest/package.json
index c53ce2cda..64f0050d3 100644
--- a/packages/dev-jest/package.json
+++ b/packages/dev-jest/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/dev-jest",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Blockera Jest config and mocks",
"main": "js/index.js",
"keywords": [
diff --git a/packages/dev-phpunit/composer.json b/packages/dev-phpunit/composer.json
index 40c8ef796..770216c50 100644
--- a/packages/dev-phpunit/composer.json
+++ b/packages/dev-phpunit/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/dev-phpunit",
+ "version": "0.9.2",
"description": "The development phpunit package of blockera",
"autoload-dev": {
"psr-4": {
diff --git a/packages/dev-phpunit/package.json b/packages/dev-phpunit/package.json
index 6d6b51543..eeac01eff 100644
--- a/packages/dev-phpunit/package.json
+++ b/packages/dev-phpunit/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/dev-phpunit",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Blockera PHPUnit package.",
"author": "The Blockera Core Contributors",
"license": "ISC",
diff --git a/packages/dev-storybook/package.json b/packages/dev-storybook/package.json
index 066304986..39e708f5e 100644
--- a/packages/dev-storybook/package.json
+++ b/packages/dev-storybook/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/dev-storybook",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Blockera Storybook Default Modules",
"main": "js/index.js",
"keywords": [
diff --git a/packages/dev-tools/package.json b/packages/dev-tools/package.json
index 8a5e9e904..847948d58 100644
--- a/packages/dev-tools/package.json
+++ b/packages/dev-tools/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/dev-tools",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Blockera DevTools for developers",
"main": "js/index.js",
"keywords": [
diff --git a/packages/editor/composer.json b/packages/editor/composer.json
index 1b2f01060..3979ad4ab 100644
--- a/packages/editor/composer.json
+++ b/packages/editor/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/editor",
+ "version": "0.9.2",
"description": "Blockera Editor php package to implements WordPress block and site editor functionalities on admin and front-end.",
"autoload": {
"psr-4": {
diff --git a/packages/editor/js/canvas-editor/components/preview.js b/packages/editor/js/canvas-editor/components/preview.js
index 9ba9d0741..38f5c4c0d 100644
--- a/packages/editor/js/canvas-editor/components/preview.js
+++ b/packages/editor/js/canvas-editor/components/preview.js
@@ -12,7 +12,7 @@ import { useEffect } from '@wordpress/element';
* Blockera dependencies
*/
import { Icon } from '@blockera/icons';
-import { Tooltip } from '@blockera/controls';
+import { Tooltip, ConditionalWrapper } from '@blockera/controls';
import { controlInnerClassNames } from '@blockera/classnames';
/**
@@ -105,7 +105,17 @@ export const Preview = (): MixedElement => {
}
return (
-
+ (
+
+ {children}
+
+ )}
+ condition={isSavablePost}
+ >
{
>
{previewButton}
-
+
);
};
diff --git a/packages/editor/js/canvas-editor/style.scss b/packages/editor/js/canvas-editor/style.scss
index 6f1856974..12ace41a0 100644
--- a/packages/editor/js/canvas-editor/style.scss
+++ b/packages/editor/js/canvas-editor/style.scss
@@ -60,7 +60,9 @@
.blockera-control-canvas-editor-preview-link {
display: flex;
align-items: center;
+ transition: var(--blockera-controls-transition);
+ > button,
> a {
padding: 0;
height: 26px !important;
@@ -73,6 +75,10 @@
background: none !important;
}
}
+
+ &.is-disabled-preview-button {
+ opacity: 0.3;
+ }
}
.blockera-component-breakpoint-icon {
diff --git a/packages/editor/js/canvas-editor/test/canvas-editor.e2e.cy.js b/packages/editor/js/canvas-editor/test/canvas-editor.e2e.cy.js
index 73ebfb704..6a324ad95 100644
--- a/packages/editor/js/canvas-editor/test/canvas-editor.e2e.cy.js
+++ b/packages/editor/js/canvas-editor/test/canvas-editor.e2e.cy.js
@@ -31,15 +31,6 @@ describe('Canvas editor testing', () => {
cy.getByDataTest('blockera-canvas-editor').should('exist');
});
- it('should rendered blockera canvas editor at the header top bar of Site Editor', () => {
- goTo('/wp-admin/site-editor.php?canvas=edit').then(() => {
- // eslint-disable-next-line
- cy.wait(2000);
- });
-
- cy.getByDataTest('blockera-canvas-editor').should('exist');
- });
-
// TODO: temporary skip!
// We should double check this test suite because this is flaky test!
// After fix this, we need to update Jira ISSUE status: https://blockera.atlassian.net/browse/BPB-138
@@ -67,4 +58,13 @@ describe('Canvas editor testing', () => {
cy.getByDataTest('blockera-canvas-editor').should('exist');
});
});
+
+ it('should rendered blockera canvas editor at the header top bar of Site Editor', () => {
+ goTo('/wp-admin/site-editor.php?canvas=edit').then(() => {
+ // eslint-disable-next-line
+ cy.wait(2000);
+ });
+
+ cy.getByDataTest('blockera-canvas-editor').should('exist');
+ });
});
diff --git a/packages/editor/js/extensions/components/block-dropdown-all-menu.js b/packages/editor/js/extensions/components/block-dropdown-all-menu.js
index b1f7beb7a..f60f03598 100644
--- a/packages/editor/js/extensions/components/block-dropdown-all-menu.js
+++ b/packages/editor/js/extensions/components/block-dropdown-all-menu.js
@@ -39,7 +39,7 @@ export const BlockDropdownAllMenu = ({
return (
diff --git a/packages/editor/js/extensions/components/block-icon.js b/packages/editor/js/extensions/components/block-icon.js
index ec2d6c2f1..13ce283ca 100644
--- a/packages/editor/js/extensions/components/block-icon.js
+++ b/packages/editor/js/extensions/components/block-icon.js
@@ -32,6 +32,9 @@ export const BlockIcon = ({
className={'blockera-block-icon blockera-main-icon'}
data-test={ariaLabel}
aria-label={ariaLabel}
+ style={{
+ display: 'none',
+ }}
/>
diff --git a/packages/editor/js/extensions/components/style.scss b/packages/editor/js/extensions/components/style.scss
index c3ea77f49..304454814 100644
--- a/packages/editor/js/extensions/components/style.scss
+++ b/packages/editor/js/extensions/components/style.scss
@@ -86,7 +86,7 @@
.block-editor-inserter__panel-content {
.blockera-block-icon {
- display: block;
+ display: block !important;
top: 15px;
right: 20px;
margin-right: -7px;
@@ -119,7 +119,7 @@
.blockera-block-icon.blockera-main-icon {
color: currentColor;
- display: block;
+ display: block !important;
opacity: 0.2;
top: -10px;
right: -10px;
@@ -136,7 +136,7 @@
position: relative;
.blockera-block-icon.blockera-main-icon {
- display: block;
+ display: block !important;
opacity: 0.2;
--icon-size: 20px;
top: 50%;
@@ -155,7 +155,7 @@
position: relative;
.blockera-block-icon {
- display: block;
+ display: block !important;
opacity: 0.2;
--icon-size: 20px;
top: 50%;
diff --git a/packages/editor/js/extensions/components/test/block-partials.e2e.cy.js b/packages/editor/js/extensions/components/test/block-partials.e2e.cy.js
index ce74aebb8..bcde25195 100644
--- a/packages/editor/js/extensions/components/test/block-partials.e2e.cy.js
+++ b/packages/editor/js/extensions/components/test/block-partials.e2e.cy.js
@@ -41,7 +41,7 @@ describe('Block Partials Testing ...', () => {
cy.get('.components-popover')
.last()
.within(() => {
- cy.getByDataTest('Gutenberg Block').click();
+ cy.getByDataTest('basic-mode-block').click();
});
cy.getByAriaLabel('Styles').click();
diff --git a/packages/editor/js/extensions/libs/flex-child/extension.js b/packages/editor/js/extensions/libs/flex-child/extension.js
index 23436f9ea..b0ce1ee49 100644
--- a/packages/editor/js/extensions/libs/flex-child/extension.js
+++ b/packages/editor/js/extensions/libs/flex-child/extension.js
@@ -375,7 +375,7 @@ export const FlexChildExtension: ComponentType = memo(
columns="1fr 2.65fr"
label={__('Self Order', 'blockera')}
className={
- 'items-flex-direction-' +
+ 'items-flex-gap items-flex-direction-' +
values.blockeraFlexDirection
}
options={[
diff --git a/packages/editor/js/extensions/libs/flex-child/style.scss b/packages/editor/js/extensions/libs/flex-child/style.scss
index 4a6eb1f68..0cbf734fb 100644
--- a/packages/editor/js/extensions/libs/flex-child/style.scss
+++ b/packages/editor/js/extensions/libs/flex-child/style.scss
@@ -21,4 +21,14 @@
transform: rotate(0deg);
}
}
+
+ &.items-flex-direction-column.items-flex-gap {
+
+ .blockera-control-toggle-select {
+
+ svg {
+ transform: rotate(90deg);
+ }
+ }
+ }
}
diff --git a/packages/editor/js/extensions/libs/shared/index.js b/packages/editor/js/extensions/libs/shared/index.js
index 8883b1c2e..f0ca781aa 100644
--- a/packages/editor/js/extensions/libs/shared/index.js
+++ b/packages/editor/js/extensions/libs/shared/index.js
@@ -591,7 +591,7 @@ export const SharedBlockExtension: ComponentType = memo(
setSettings={handleOnChangeSettings}
/>
- {directParentBlock?.innerBlocks.length &&
+ {directParentBlock?.innerBlocks?.length > 0 &&
directParentBlock?.attributes
.blockeraDisplay === 'flex' && (
{
expect(undefined).to.be.equal(getSelectedBlock(data, 'align'));
});
});
+
+ it('Changing align from block toolbar affects the Blockera text align', () => {
+ appendBlocks(
+ `
+Test paragraph...
+`
+ );
+
+ // Select target block
+ cy.getBlock('core/paragraph').click();
+
+ //
+ // Change align to left
+ //
+ cy.get('button[aria-label="Align text"]').click();
+ cy.get('div[aria-label="Align text"] button').eq(0).click();
+
+ //
+ // assert values
+ //
+
+ // WP data should come to Blockera
+ getWPDataObject().then((data) => {
+ expect('left').to.be.equal(
+ getSelectedBlock(data, 'blockeraTextAlign')
+ );
+
+ expect('left').to.be.equal(getSelectedBlock(data, 'align'));
+ });
+
+ //
+ // Change align to center
+ //
+ cy.get('button[aria-label="Align text"]').click();
+ cy.get('div[aria-label="Align text"] button').eq(1).click();
+
+ //
+ // assert values
+ //
+
+ // WP data should come to Blockera
+ getWPDataObject().then((data) => {
+ expect('center').to.be.equal(
+ getSelectedBlock(data, 'blockeraTextAlign')
+ );
+
+ expect('center').to.be.equal(getSelectedBlock(data, 'align'));
+ });
+
+ //
+ // Change align to center
+ //
+ cy.get('button[aria-label="Align text"]').click();
+ cy.get('div[aria-label="Align text"] button').eq(2).click();
+
+ //
+ // assert values
+ //
+
+ // WP data should come to Blockera
+ getWPDataObject().then((data) => {
+ expect('right').to.be.equal(
+ getSelectedBlock(data, 'blockeraTextAlign')
+ );
+
+ expect('right').to.be.equal(getSelectedBlock(data, 'align'));
+ });
+ });
});
describe('Heading Block', () => {
@@ -178,5 +246,77 @@ describe('Text Align → WP Compatibility', () => {
);
});
});
+
+ it('Changing align from block toolbar affects the Blockera text align', () => {
+ appendBlocks(
+ `
+A commitment to innovation and sustainability
+`
+ );
+
+ // Select target block
+ cy.getBlock('core/heading').click();
+
+ //
+ // Change align to left
+ //
+ cy.get('button[aria-label="Align text"]').click();
+ cy.get('div[aria-label="Align text"] button').eq(0).click();
+
+ //
+ // assert values
+ //
+
+ // WP data should come to Blockera
+ getWPDataObject().then((data) => {
+ expect('left').to.be.equal(
+ getSelectedBlock(data, 'blockeraTextAlign')
+ );
+
+ expect('left').to.be.equal(getSelectedBlock(data, 'textAlign'));
+ });
+
+ //
+ // Change align to center
+ //
+ cy.get('button[aria-label="Align text"]').click();
+ cy.get('div[aria-label="Align text"] button').eq(1).click();
+
+ //
+ // assert values
+ //
+
+ // WP data should come to Blockera
+ getWPDataObject().then((data) => {
+ expect('center').to.be.equal(
+ getSelectedBlock(data, 'blockeraTextAlign')
+ );
+
+ expect('center').to.be.equal(
+ getSelectedBlock(data, 'textAlign')
+ );
+ });
+
+ //
+ // Change align to center
+ //
+ cy.get('button[aria-label="Align text"]').click();
+ cy.get('div[aria-label="Align text"] button').eq(2).click();
+
+ //
+ // assert values
+ //
+
+ // WP data should come to Blockera
+ getWPDataObject().then((data) => {
+ expect('right').to.be.equal(
+ getSelectedBlock(data, 'blockeraTextAlign')
+ );
+
+ expect('right').to.be.equal(
+ getSelectedBlock(data, 'textAlign')
+ );
+ });
+ });
});
});
diff --git a/packages/editor/package.json b/packages/editor/package.json
index b26d38eef..12f88ef85 100644
--- a/packages/editor/package.json
+++ b/packages/editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/editor",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "A editor package to includes high level components inside WordPress Block Editor.",
"author": "The Blockera Contributors",
"license": "ISC",
@@ -14,7 +14,7 @@
"directory": "packages/editor"
},
"bugs": {
- "url": "https://github.com/blockeraai/blockera/issues"
+ "url": "https://github.com/blockeraai/blockera/issues"
},
"engines": {
"node": ">=12"
diff --git a/packages/editor/php/StyleDefinitions/Layout.php b/packages/editor/php/StyleDefinitions/Layout.php
index 4e8474187..34ed4c029 100644
--- a/packages/editor/php/StyleDefinitions/Layout.php
+++ b/packages/editor/php/StyleDefinitions/Layout.php
@@ -171,8 +171,6 @@ protected function css( array $setting ): array {
break;
}
- $this->setCss( $declaration );
-
/**
* If gap type is both and the current display is flex or grid
* then we use gap property to but still WP is creating gap with `margin-block-start` and we have to remove it.
@@ -186,6 +184,10 @@ protected function css( array $setting ): array {
'margin-block-start' => '0',
]
);
+
+ } else {
+
+ $this->setCss( $declaration );
}
return $this->css;
@@ -254,7 +256,7 @@ public function setSelector( string $support ): void {
parent::setSelector( 'margin-block-start' );
- $this->selector .= ' > * + *';
+ $this->selector = blockera_append_css_selector_suffix( $this->selector, ' > * + *' );
return;
}
diff --git a/packages/editor/php/helpers.php b/packages/editor/php/helpers.php
index 3d33b18a9..ff733f289 100644
--- a/packages/editor/php/helpers.php
+++ b/packages/editor/php/helpers.php
@@ -411,6 +411,38 @@ function blockera_get_compatible_block_css_selector( array $selectors, string $f
}
}
+if ( ! function_exists( 'blockera_append_css_selector_suffix' ) ) {
+
+ /**
+ * Concat block css selector with suffix.
+ *
+ * @param string $selector The css selector.
+ * @param string $suffix The suffix string to concat with recieved selector.
+ *
+ * @return string the css selector.
+ */
+ function blockera_append_css_selector_suffix( string $selector, string $suffix ): string {
+
+ if ( empty( trim( $selector ) ) || empty( trim( $suffix ) ) ) {
+
+ return $selector;
+ }
+
+ $selectors = explode( ',', $selector );
+
+ return implode(
+ ', ',
+ array_map(
+ function ( string $item ) use ( $suffix ): string {
+
+ return trim( $item ) . $suffix;
+ },
+ $selectors
+ )
+ );
+ }
+}
+
if ( ! function_exists( 'blockera_append_root_block_css_selector' ) ) {
/**
diff --git a/packages/editor/php/tests/TestHelpers.php b/packages/editor/php/tests/TestHelpers.php
index 38b2a9032..5391985fc 100644
--- a/packages/editor/php/tests/TestHelpers.php
+++ b/packages/editor/php/tests/TestHelpers.php
@@ -329,6 +329,78 @@ public function testSelectorStartingWithDot() {
$this->assertEquals( '.my-root.my-class', $result );
}
+ /**
+ * Test single selector with a suffix.
+ */
+ public function testSingleSelectorWithSuffix() {
+
+ $selector = '.my-class';
+ $suffix = '-active';
+ $expected = '.my-class-active';
+
+ $this->assertSame( $expected, blockera_append_css_selector_suffix( $selector, $suffix ) );
+ }
+
+ /**
+ * Test multiple selectors with a suffix.
+ */
+ public function testMultipleSelectorsWithSuffix() {
+
+ $selector = '.my-class, #my-id';
+ $suffix = '-hover';
+ $expected = '.my-class-hover, #my-id-hover';
+
+ $this->assertSame( $expected, blockera_append_css_selector_suffix( $selector, $suffix ) );
+ }
+
+ /**
+ * Test empty selector.
+ */
+ public function testItShouldAppendSuffixIntoEmptySelector() {
+
+ $selector = '';
+ $suffix = '-test';
+ $expected = '';
+
+ $this->assertSame( $expected, blockera_append_css_selector_suffix( $selector, $suffix ) );
+ }
+
+ /**
+ * Test empty suffix.
+ */
+ public function testEmptySuffix() {
+
+ $selector = '.my-class, #my-id';
+ $suffix = '';
+ $expected = '.my-class, #my-id';
+
+ $this->assertSame( $expected, blockera_append_css_selector_suffix( $selector, $suffix ) );
+ }
+
+ /**
+ * Test with whitespace in selectors.
+ */
+ public function testWhitespaceInSelectors() {
+
+ $selector = '.my-class , #my-id';
+ $suffix = '-modified';
+ $expected = '.my-class-modified, #my-id-modified';
+
+ $this->assertSame( $expected, blockera_append_css_selector_suffix( $selector, $suffix ) );
+ }
+
+ /**
+ * Test complex selectors with a suffix.
+ */
+ public function testComplexSelectorsWithSuffix() {
+
+ $selector = '.my-class > .inner-class, #my-id + .another-class';
+ $suffix = '-active';
+ $expected = '.my-class > .inner-class-active, #my-id + .another-class-active';
+
+ $this->assertSame( $expected, blockera_append_css_selector_suffix( $selector, $suffix ) );
+ }
+
public function tear_down() {
// Removes test block types registered by test cases.
diff --git a/packages/env/composer.json b/packages/env/composer.json
index fa3dd6a2f..4f1204dd8 100644
--- a/packages/env/composer.json
+++ b/packages/env/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/env",
+ "version": "0.9.2",
"description": "The env package to read environment variables of json related files at the root of any project.",
"autoload": {
"psr-4": {
diff --git a/packages/env/package.json b/packages/env/package.json
index c3b8f1f9f..ef3c777bc 100644
--- a/packages/env/package.json
+++ b/packages/env/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/env",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "The env package to read environment variables of json related files at the root of any project.",
"author": "The Blockera Contributors",
"license": "ISC",
diff --git a/packages/exceptions/composer.json b/packages/exceptions/composer.json
index c25cdb1e2..af252fc75 100644
--- a/packages/exceptions/composer.json
+++ b/packages/exceptions/composer.json
@@ -1,9 +1,10 @@
{
"name": "blockera/exceptions",
+ "version": "0.9.2",
"description": "The blockera exceptions package.",
"autoload": {
"psr-4": {
- "Blockera\\Exceptions\\": "php/"
+ "Blockera\\Exceptions\\": "php/"
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/exceptions/package.json b/packages/exceptions/package.json
index abd9740b9..7fdb85811 100644
--- a/packages/exceptions/package.json
+++ b/packages/exceptions/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/exceptions",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Blockera exceptions package.",
"author": "The Blockera Core Contributors",
"license": "ISC",
diff --git a/packages/freemius-sdk/composer.json b/packages/freemius-sdk/composer.json
index dfc8c23b0..80686bd79 100644
--- a/packages/freemius-sdk/composer.json
+++ b/packages/freemius-sdk/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/freemius-sdk",
+ "version": "0.9.2",
"description": "The Blockera Freemius SDK.",
"autoload": {
"psr-4": {
diff --git a/packages/http/composer.json b/packages/http/composer.json
index 26d2bd0fe..4d941f440 100644
--- a/packages/http/composer.json
+++ b/packages/http/composer.json
@@ -1,9 +1,10 @@
{
"name": "blockera/http",
+ "version": "0.9.2",
"description": "The blockera http abstraction package.",
"autoload": {
"psr-4": {
- "Blockera\\Http\\": "php/"
+ "Blockera\\Http\\": "php/"
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http/package.json b/packages/http/package.json
index 1a995147b..4a89ba263 100644
--- a/packages/http/package.json
+++ b/packages/http/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/http",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "Blockera http package.",
"author": "The Blockera Core Contributors",
"license": "ISC",
diff --git a/packages/icons/package.json b/packages/icons/package.json
index 7f5e5f4c1..f45693af9 100644
--- a/packages/icons/package.json
+++ b/packages/icons/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/icons",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "The blockera icons package.",
"author": "The Blockera Contributors",
"license": "ISC",
diff --git a/packages/utils/composer.json b/packages/utils/composer.json
index 2bf66e640..9c3b7d03b 100644
--- a/packages/utils/composer.json
+++ b/packages/utils/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/utils",
+ "version": "0.9.2",
"description": "The utilities for JavaScript and PHP blockera applications.",
"autoload": {
"psr-4": {
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 6a8d33df7..5dd00bd40 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/utils",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "The utilities for JavaScript and PHP blockera applications.",
"author": "The Blockera Contributors",
"license": "ISC",
diff --git a/packages/wordpress/composer.json b/packages/wordpress/composer.json
index 88ae29351..b348a6c07 100644
--- a/packages/wordpress/composer.json
+++ b/packages/wordpress/composer.json
@@ -1,5 +1,6 @@
{
"name": "blockera/wordpress",
+ "version": "0.9.2",
"description": "The utilities for blockera on WordPress CMS.",
"autoload": {
"psr-4": {
diff --git a/packages/wordpress/package.json b/packages/wordpress/package.json
index 43c6c1803..862a236a5 100644
--- a/packages/wordpress/package.json
+++ b/packages/wordpress/package.json
@@ -1,6 +1,6 @@
{
"name": "@blockera/wordpress",
- "version": "1.0.0",
+ "version": "0.9.2",
"description": "The utilities for blockera on WordPress CMS.",
"author": "The Blockera Contributors",
"license": "ISC",