diff --git a/.eslintrc.js b/.eslintrc.js
index 97c9f395194f35..25173a9f0e8a82 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -278,10 +278,9 @@ module.exports = {
},
},
{
- // Temporary rules until we're ready to officially deprecate the bottom margins.
files: [ 'packages/*/src/**/*.[tj]s?(x)' ],
excludedFiles: [
- 'packages/components/src/**/@(test|stories)/**',
+ 'packages/*/src/**/@(test|stories)/**',
'**/*.@(native|ios|android).js',
],
rules: {
@@ -289,14 +288,19 @@ module.exports = {
'error',
...restrictedSyntax,
...restrictedSyntaxComponents,
+ // Temporary rules until we're ready to officially deprecate the bottom margins.
...[
+ 'BaseControl',
'CheckboxControl',
'ComboboxControl',
+ 'DimensionControl',
'FocalPointPicker',
'RangeControl',
'SearchControl',
+ 'SelectControl',
'TextControl',
'TextareaControl',
+ 'ToggleControl',
'ToggleGroupControl',
'TreeSelect',
].map( ( componentName ) => ( {
@@ -305,6 +309,45 @@ module.exports = {
componentName +
' should have the `__nextHasNoMarginBottom` prop to opt-in to the new margin-free styles.',
} ) ),
+ // Temporary rules until we're ready to officially default to the new size.
+ ...[
+ 'BorderBoxControl',
+ 'BorderControl',
+ 'ComboboxControl',
+ 'CustomSelectControl',
+ 'DimensionControl',
+ 'FontAppearanceControl',
+ 'FontFamilyControl',
+ 'FontSizePicker',
+ 'FormTokenField',
+ 'InputControl',
+ 'LineHeightControl',
+ 'NumberControl',
+ 'RangeControl',
+ 'TextControl',
+ 'ToggleGroupControl',
+ ].map( ( componentName ) => ( {
+ // Falsy `__next40pxDefaultSize` without a non-default `size` prop.
+ selector: `JSXOpeningElement[name.name="${ componentName }"]:not(:has(JSXAttribute[name.name="__next40pxDefaultSize"][value.expression.value!=false])):not(:has(JSXAttribute[name.name="size"][value.value!="default"]))`,
+ message:
+ componentName +
+ ' should have the `__next40pxDefaultSize` prop to opt-in to the new default size.',
+ } ) ),
+ {
+ // Falsy `__next40pxDefaultSize` without a `render` prop.
+ selector:
+ 'JSXOpeningElement[name.name="FormFileUpload"]:not(:has(JSXAttribute[name.name="__next40pxDefaultSize"][value.expression.value!=false])):not(:has(JSXAttribute[name.name="render"]))',
+ message:
+ 'FormFileUpload should have the `__next40pxDefaultSize` prop to opt-in to the new default size.',
+ },
+ // Temporary rules until all existing components have the `__next40pxDefaultSize` prop.
+ ...[ 'SelectControl' ].map( ( componentName ) => ( {
+ // Not strict. Allows pre-existing __next40pxDefaultSize={ false } usage until they are all manually updated.
+ selector: `JSXOpeningElement[name.name="${ componentName }"]:not(:has(JSXAttribute[name.name="__next40pxDefaultSize"])):not(:has(JSXAttribute[name.name="size"]))`,
+ message:
+ componentName +
+ ' should have the `__next40pxDefaultSize` prop to opt-in to the new default size.',
+ } ) ),
],
},
},
diff --git a/.github/workflows/props-bot.yml b/.github/workflows/props-bot.yml
index 0f21f47ef14f99..b2332aabb816c7 100644
--- a/.github/workflows/props-bot.yml
+++ b/.github/workflows/props-bot.yml
@@ -18,7 +18,7 @@ on:
# You cannot filter this event for PR comments only.
# However, the logic below does short-circuit the workflow for issues.
issue_comment:
- type:
+ types:
- created
# This event will run everytime a new PR review is initially submitted.
pull_request_review:
diff --git a/backport-changelog/6.6/7145.md b/backport-changelog/6.6/7145.md
new file mode 100644
index 00000000000000..386f765cb22fa8
--- /dev/null
+++ b/backport-changelog/6.6/7145.md
@@ -0,0 +1,3 @@
+https://github.com/WordPress/wordpress-develop/pull/7145
+
+* https://github.com/WordPress/gutenberg/pull/64076
diff --git a/backport-changelog/6.7/7125.md b/backport-changelog/6.7/7125.md
new file mode 100644
index 00000000000000..ce208decd2d145
--- /dev/null
+++ b/backport-changelog/6.7/7125.md
@@ -0,0 +1,3 @@
+https://github.com/WordPress/wordpress-develop/pull/7125
+
+* https://github.com/WordPress/gutenberg/pull/61577
diff --git a/backport-changelog/6.7/7137.md b/backport-changelog/6.7/7137.md
new file mode 100644
index 00000000000000..00771b8bc6c21d
--- /dev/null
+++ b/backport-changelog/6.7/7137.md
@@ -0,0 +1,5 @@
+https://github.com/WordPress/wordpress-develop/pull/7137
+
+* https://github.com/WordPress/gutenberg/pull/64128
+* https://github.com/WordPress/gutenberg/pull/64192
+* https://github.com/WordPress/gutenberg/pull/64328
diff --git a/backport-changelog/6.7/7179.md b/backport-changelog/6.7/7179.md
new file mode 100644
index 00000000000000..d777eace2cb05e
--- /dev/null
+++ b/backport-changelog/6.7/7179.md
@@ -0,0 +1,5 @@
+https://github.com/WordPress/wordpress-develop/pull/7179
+
+* https://github.com/WordPress/gutenberg/pull/64401
+* https://github.com/WordPress/gutenberg/pull/64459
+* https://github.com/WordPress/gutenberg/pull/64477
diff --git a/changelog.txt b/changelog.txt
index b7bbdf821f374e..748df8da3484c7 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,374 @@
== Changelog ==
+= 19.0.0 =
+
+## Changelog
+
+### Enhancements
+
+- Add alt edit field to the inline image in the format library ([64124](https://github.com/WordPress/gutenberg/pull/64124))
+- Update copy from "No Title" to "No title" across multiple places on the editor. ([64184](https://github.com/WordPress/gutenberg/pull/64184))
+- Update column input to be 40px by default. ([64190](https://github.com/WordPress/gutenberg/pull/64190))
+
+#### Block Library
+- Add anchor block support to List Items. ([48758](https://github.com/WordPress/gutenberg/pull/48758))
+- Unset the rowStart and columnStart attributes when a block inside the Grid is removed from a manual layout. ([64186](https://github.com/WordPress/gutenberg/pull/64186))
+- Update Group block example. ([63114](https://github.com/WordPress/gutenberg/pull/63114))
+- Make SiteLogoReplaceFlow always available in the Site Logo block toolbar. ([63499](https://github.com/WordPress/gutenberg/pull/63499))
+- Make Query Loop settings more intuitive with a ToggleGroup and simplified help text. ([63739](https://github.com/WordPress/gutenberg/pull/63739))
+- Move gallery link controls to the block toolbar. ([62762](https://github.com/WordPress/gutenberg/pull/62762))
+- Hide loading when the overlay menu is selected. ([64262](https://github.com/WordPress/gutenberg/pull/64262))
+- Move the Site Logo tooltip to the middle right. ([64296](https://github.com/WordPress/gutenberg/pull/64296))
+- Prevent duplicate spacing on Tag Cloud block. ([63832](https://github.com/WordPress/gutenberg/pull/63832))
+- Fix 'can user edit' Template Part check. ([64137](https://github.com/WordPress/gutenberg/pull/64137))
+- Add clearfix in Post content. ([63690](https://github.com/WordPress/gutenberg/pull/63690))
+- Tweak Tag Cloud controls and description. ([64151](https://github.com/WordPress/gutenberg/pull/64151))
+- Tweak list block. ([64025](https://github.com/WordPress/gutenberg/pull/64025))
+- Update MediaUpload button for the site logo from "Add media" to "Choose logo". ([63498](https://github.com/WordPress/gutenberg/pull/63498))
+- Update help text for sticky control in Query loop. ([63999](https://github.com/WordPress/gutenberg/pull/63999))
+- Add border support to the following blocks:
+ - [Time To Read](https://github.com/WordPress/gutenberg/pull/63776)
+ - [Categories List](https://github.com/WordPress/gutenberg/pull/63950)
+ - [Post Date](https://github.com/WordPress/gutenberg/pull/64023)
+ - [Post Excerpt](https://github.com/WordPress/gutenberg/pull/64022)
+ - [Post Terms](https://github.com/WordPress/gutenberg/pull/64246)
+ - [Post Title](https://github.com/WordPress/gutenberg/pull/64024)
+ - [Site Tagline](https://github.com/WordPress/gutenberg/pull/63778)
+ - [Site Title](https://github.com/WordPress/gutenberg/pull/63631)
+ - [Table of contents](https://github.com/WordPress/gutenberg/pull/63578)
+
+#### Extensibility
+- Add an async `__unstablePreSavePost` hook; resolving with false prevents saving. ([58022](https://github.com/WordPress/gutenberg/pull/58022))
+- Enable heading level curation. ([63535](https://github.com/WordPress/gutenberg/pull/63535))
+- Addition of `levelOptions` attribute to control available heading levels in [Post Title](https://github.com/WordPress/gutenberg/pull/64106), [Query Title](https://github.com/WordPress/gutenberg/pull/64107), [Site Tagline](https://github.com/WordPress/gutenberg/pull/64113), [Site Title](https://github.com/WordPress/gutenberg/pull/64111), and [Comments Title](https://github.com/WordPress/gutenberg/pull/64103).
+
+#### Data Views
+- Be more clear with the copy of the "hide" action. ([63047](https://github.com/WordPress/gutenberg/pull/63047))
+- Graduate data view options out of a menu to allow more design expression. ([64175](https://github.com/WordPress/gutenberg/pull/64175))
+- Move filter UI into a toggle-able panel to improve experience on narrow viewports/containers. ([63203](https://github.com/WordPress/gutenberg/pull/63203))
+- Update field line-height across grid/list layouts. ([63945](https://github.com/WordPress/gutenberg/pull/63945))
+- Update template description in table layout. ([63942](https://github.com/WordPress/gutenberg/pull/63942))
+- De-emphasise bulk actions on Grid layout. ([64209](https://github.com/WordPress/gutenberg/pull/64209))
+- Update the copy of some of the strings on dataviews actions. ([64099](https://github.com/WordPress/gutenberg/pull/64099))
+
+##### Dataviews Extensibility
+
+- Allow unregistering of the following post actions: [permanently delete](https://github.com/WordPress/gutenberg/pull/64088), [restore post](https://github.com/WordPress/gutenberg/pull/64134), and [trash post](https://github.com/WordPress/gutenberg/pull/64087).
+
+#### Dataform
+
+- Add author to quick edit page/post list. ([63983](https://github.com/WordPress/gutenberg/pull/63983))
+- If a field of type `text` declare `elements`, render it as a `SelectControl` in `edit`. ([64251](https://github.com/WordPress/gutenberg/pull/64251))
+- Migrate order action modal and introduce form validation. ([63895](https://github.com/WordPress/gutenberg/pull/63895))
+
+
+
+#### Components
+- Add radius scale. ([64007](https://github.com/WordPress/gutenberg/pull/64007))
+- Support generic props type on CustomSelectControl. ([63985](https://github.com/WordPress/gutenberg/pull/63985))
+- Guide: Add __next40pxDefaultSize to buttons. ([64181](https://github.com/WordPress/gutenberg/pull/64181))
+- Image: Make Placeholder white when there is a
> diff --git a/docs/getting-started/fundamentals/static-dynamic-rendering.md b/docs/getting-started/fundamentals/static-dynamic-rendering.md index 8d199f66cccd2a..dfb6a7123b44b3 100644 --- a/docs/getting-started/fundamentals/static-dynamic-rendering.md +++ b/docs/getting-started/fundamentals/static-dynamic-rendering.md @@ -61,7 +61,7 @@ Dynamic blocks, which we'll explore in the following section, can specify an ini For a practical demonstration of how this works, refer to the [Building your first block](/docs/getting-started/tutorial.md) tutorial. Specifically, the [Adding static rendering](/docs/getting-started/tutorial.md#adding-static-rendering) section illustrates how a block can have both a saved HTML structure and dynamic rendering capabilities.
render_block
are the $render_callback
function to alter the saved HTML of a block before it appears on the front end. These tools offer developers the capability to customize block output dynamically, catering to complex and interactive user experiences.
+WordPress provides mechanisms like the render_block
and the render_callback
function to alter the saved HTML of a block before it appears on the front end. These tools offer developers the capability to customize block output dynamically, catering to complex and interactive user experiences.
I'm interactive now, >and I can use directives!
+I'm interactive now, and I can use directives!
I'm also interactive, and I can also use directives!
I'm interactive now, >and I can use directives!
+I'm interactive now, and I can use directives!
I'm also interactive, and I can also use directives!
this is inactive
+ + + +``` + +As you can see, for each condition, you have to use JavaScript to modify everything in the DOM that has changed, taking into account the previous state. + +### The declarative approach + +The declarative approach simplifies the process by focusing on _what_ should happen. The UI updates automatically in response to changes in state. Here is a similar example using the Interactivity API's declarative approach: + +```html ++ this is inactive +
+Counter:
+ +Theme:
+Counter:
+ +Theme:
+Counter:
+Counter:
+ +Product Price: $
+Tax Rate:
+Price (inc. tax): $
+${ name }
`,
- table: { type: { summary: undefined } },
- },
- };
- },
- },
- },
-};
-export default meta;
-
-export const Default: StoryFn< typeof Composite > = ( { ...initialState } ) => {
- const rtl = isRTL();
- const store = useCompositeStore( { rtl, ...initialState } );
-
- return (
- Notes
+