WordPress.org

Make WordPress Core

Changeset 44261


Ignore:
Timestamp:
12/17/2018 04:50:48 AM (18 months ago)
Author:
desrosj
Message:

Block Editor: Update @wordpress dependencies.

Changes of note:

  • Includes the new Annotations API package.
  • wp-polyfill-ecmascript.js is renamed to wp-polyfill.js.
  • strip_dynamic_blocks() has been removed in favor of excerpt_remove_blocks().
  • The PHP block parser is now syncing from the block-serialization-default-parser package.
  • do_blocks() uses the new parser.
  • The do_block filter has been removed from do_blocks(), in favor of a render_block filter in render_block().

Also, a little cleanup to render_block(). Always normalize $block['attrs’] to array in ’render_block’ filter.
Props pento, azaozz.

Merges [43884] and [43888] to trunk.

See #45145, #45190, #45264, #45282.

Location:
trunk
Files:
76 edited
45 copied

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/package-lock.json

    r44260 r44261  
    216216            }
    217217        },
     218        "@wordpress/annotations": {
     219            "version": "1.0.0",
     220            "resolved": "https://registry.npmjs.org/@wordpress/annotations/-/annotations-1.0.0.tgz",
     221            "integrity": "sha512-S1geWYg1OFRy9Lw8IE377DMEcnbFWD0457N7wHEvnjWU4ngI9rbFJ9FLEs/FNNlYR4zVy+niAl6I5pY1Qac9lw==",
     222            "requires": {
     223                "@babel/runtime": "^7.0.0",
     224                "@wordpress/data": "^3.1.2",
     225                "@wordpress/hooks": "^2.0.3",
     226                "@wordpress/i18n": "^3.0.1",
     227                "@wordpress/rich-text": "^2.0.4",
     228                "lodash": "^4.17.10",
     229                "rememo": "^3.0.0",
     230                "uuid": "^3.3.2"
     231            }
     232        },
    218233        "@wordpress/api-fetch": {
    219             "version": "2.2.1",
    220             "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-2.2.1.tgz",
    221             "integrity": "sha512-uKEXy1d78m+foRhc5yDoE3C6NBVlEL18F70vxedI4XvypkJ15tSNEPVVxwiHRfJ4AUhA9Cmu3HE6VW9ytYuAnQ==",
     234            "version": "2.2.3",
     235            "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-2.2.3.tgz",
     236            "integrity": "sha512-kYQ8Au3tkNYDkJQfXfe5KS5DGN7YlCM4Ltk1vMCNy7C9JdNNJQ5v44ccZr6hT0usxyj+4UyIh0AnY55asT+b/A==",
    222237            "requires": {
    223238                "@babel/runtime": "^7.0.0",
    224239                "@wordpress/hooks": "^2.0.3",
    225240                "@wordpress/i18n": "^3.0.1",
    226                 "@wordpress/url": "^2.2.0"
     241                "@wordpress/url": "^2.3.0"
    227242            }
    228243        },
     
    244259        },
    245260        "@wordpress/block-library": {
    246             "version": "2.1.7",
    247             "resolved": "https://registry.npmjs.org/@wordpress/block-library/-/block-library-2.1.7.tgz",
    248             "integrity": "sha512-mhEmJ8v9eXcrxrTi5KO0ui0ipszjv2eY9POzHMNfW5WtxC/Lppev0ygGg881FX7ZwaOXcTqJ0shlWS/um5R+Dg==",
     261            "version": "2.2.2",
     262            "resolved": "https://registry.npmjs.org/@wordpress/block-library/-/block-library-2.2.2.tgz",
     263            "integrity": "sha512-Q0hkYxq1eXRAAhGoCHZ1mT0GV1AtSpyB/N9ZwMrF3nP116tx7hbcMsyJW9j/tgvKLFOUforSitGQyfojxlWysQ==",
    249264            "requires": {
    250265                "@babel/runtime": "^7.0.0",
    251266                "@wordpress/autop": "^2.0.2",
    252267                "@wordpress/blob": "^2.1.0",
    253                 "@wordpress/blocks": "^5.1.1",
    254                 "@wordpress/components": "^5.0.1",
    255                 "@wordpress/compose": "^2.1.0",
    256                 "@wordpress/core-data": "^2.0.8",
    257                 "@wordpress/data": "^3.0.1",
     268                "@wordpress/blocks": "^5.3.1",
     269                "@wordpress/components": "^6.0.0",
     270                "@wordpress/compose": "^2.1.2",
     271                "@wordpress/core-data": "^2.0.12",
     272                "@wordpress/data": "^3.1.2",
    258273                "@wordpress/deprecated": "^2.0.3",
    259                 "@wordpress/editor": "^6.1.0",
    260                 "@wordpress/element": "^2.1.5",
     274                "@wordpress/editor": "^7.0.0",
     275                "@wordpress/element": "^2.1.7",
    261276                "@wordpress/html-entities": "^2.0.2",
    262277                "@wordpress/i18n": "^3.0.1",
    263278                "@wordpress/keycodes": "^2.0.3",
    264                 "@wordpress/viewport": "^2.0.7",
     279                "@wordpress/viewport": "^2.0.10",
    265280                "classnames": "^2.2.5",
    266281                "lodash": "^4.17.10",
     
    272287            },
    273288            "dependencies": {
     289                "@wordpress/compose": {
     290                    "version": "2.1.2",
     291                    "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     292                    "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
     293                    "requires": {
     294                        "@babel/runtime": "^7.0.0",
     295                        "@wordpress/deprecated": "^2.0.3",
     296                        "@wordpress/element": "^2.1.7",
     297                        "@wordpress/is-shallow-equal": "^1.1.4",
     298                        "lodash": "^4.17.10"
     299                    }
     300                },
     301                "@wordpress/data": {
     302                    "version": "3.1.2",
     303                    "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
     304                    "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
     305                    "requires": {
     306                        "@babel/runtime": "^7.0.0",
     307                        "@wordpress/compose": "^2.1.2",
     308                        "@wordpress/deprecated": "^2.0.3",
     309                        "@wordpress/element": "^2.1.7",
     310                        "@wordpress/is-shallow-equal": "^1.1.4",
     311                        "@wordpress/redux-routine": "^3.0.3",
     312                        "equivalent-key-map": "^0.2.2",
     313                        "is-promise": "^2.1.0",
     314                        "lodash": "^4.17.10",
     315                        "redux": "^4.0.0",
     316                        "turbo-combine-reducers": "^1.0.2"
     317                    }
     318                },
     319                "@wordpress/element": {
     320                    "version": "2.1.7",
     321                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     322                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     323                    "requires": {
     324                        "@babel/runtime": "^7.0.0",
     325                        "@wordpress/escape-html": "^1.0.1",
     326                        "lodash": "^4.17.10",
     327                        "react": "^16.4.1",
     328                        "react-dom": "^16.4.1"
     329                    }
     330                },
     331                "@wordpress/viewport": {
     332                    "version": "2.0.10",
     333                    "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-2.0.10.tgz",
     334                    "integrity": "sha512-G+7VgUQkRu9JwrsiBvTs/CS87vs6wcxCknr2lWU14rk55FWpxg4fhduRHUcBYEk7E+bvOHV1TgnAspBncu1aYg==",
     335                    "requires": {
     336                        "@babel/runtime": "^7.0.0",
     337                        "@wordpress/compose": "^2.1.2",
     338                        "@wordpress/data": "^3.1.2",
     339                        "@wordpress/element": "^2.1.7",
     340                        "lodash": "^4.17.10"
     341                    }
     342                },
    274343                "querystringify": {
    275344                    "version": "1.0.0",
     
    280349        },
    281350        "@wordpress/block-serialization-default-parser": {
    282             "version": "1.0.1",
    283             "resolved": "https://registry.npmjs.org/@wordpress/block-serialization-default-parser/-/block-serialization-default-parser-1.0.1.tgz",
    284             "integrity": "sha512-r3pi1GVDnxR4MEb8BcS2UX8BQcNHU/7PyueUihSWGbVJaCksSf+wyRKVTuZiOQKagO95fWy7Egc0JcWK6clmiQ==",
     351            "version": "2.0.0",
     352            "resolved": "https://registry.npmjs.org/@wordpress/block-serialization-default-parser/-/block-serialization-default-parser-2.0.0.tgz",
     353            "integrity": "sha512-WPQuQ2IsUOG9wMTst8CYW8c5NMM3iatTW2FinfZrHtH9R1g9qdQPt5Wv56U7eMeDACVOj35jG2oJtZCRaDyL7A==",
    285354            "requires": {
    286355                "@babel/runtime": "^7.0.0"
     
    288357        },
    289358        "@wordpress/block-serialization-spec-parser": {
    290             "version": "1.1.1",
    291             "resolved": "https://registry.npmjs.org/@wordpress/block-serialization-spec-parser/-/block-serialization-spec-parser-1.1.1.tgz",
    292             "integrity": "sha512-33/4M2D8ftrHvRythIA44/530erCPn3bdA+C8pqm6DWByGxxYzR/jemwEuG3H+sfDWAQGfsVFmHSIXxJtEax7g=="
     359            "version": "2.0.0",
     360            "resolved": "https://registry.npmjs.org/@wordpress/block-serialization-spec-parser/-/block-serialization-spec-parser-2.0.0.tgz",
     361            "integrity": "sha512-l5N0o2Tkc4IcDhhMfX2W3KuEV/4F7TeitJEDtBpLYf7eRMIn3Uh6l5rPDmmuTDv7UFlMWTiA8z/oCpl13ZyBOw=="
    293362        },
    294363        "@wordpress/blocks": {
    295             "version": "5.1.1",
    296             "resolved": "https://registry.npmjs.org/@wordpress/blocks/-/blocks-5.1.1.tgz",
    297             "integrity": "sha512-k/xrp9LqZx5V5lixWHfmNPhGETUIOHk3vE0t0KxMWKkjkJfRG/5POLx45tD1KZbhx4m8O6Eq0haDpE1Curms0w==",
     364            "version": "5.3.1",
     365            "resolved": "https://registry.npmjs.org/@wordpress/blocks/-/blocks-5.3.1.tgz",
     366            "integrity": "sha512-bC7yqqfwFRpcOwtcJ5KtIesVH8344wy7HAnYt7g58nGyoFXfO9Ja75f02XS2jqS7Jo1j+gacJqGZoLnHfN8dYw==",
    298367            "requires": {
    299368                "@babel/runtime": "^7.0.0",
    300369                "@wordpress/autop": "^2.0.2",
    301370                "@wordpress/blob": "^2.1.0",
    302                 "@wordpress/block-serialization-default-parser": "^1.0.1",
    303                 "@wordpress/block-serialization-spec-parser": "^1.0.3",
    304                 "@wordpress/data": "^3.0.1",
    305                 "@wordpress/dom": "^2.0.4",
    306                 "@wordpress/element": "^2.1.5",
     371                "@wordpress/block-serialization-default-parser": "^2.0.0",
     372                "@wordpress/block-serialization-spec-parser": "^2.0.0",
     373                "@wordpress/data": "^3.1.2",
     374                "@wordpress/dom": "^2.0.6",
     375                "@wordpress/element": "^2.1.7",
    307376                "@wordpress/hooks": "^2.0.3",
    308377                "@wordpress/i18n": "^3.0.1",
    309378                "@wordpress/is-shallow-equal": "^1.1.4",
    310379                "@wordpress/shortcode": "^2.0.2",
    311                 "hpq": "^1.2.0",
     380                "hpq": "^1.3.0",
    312381                "lodash": "^4.17.10",
    313382                "rememo": "^3.0.0",
     
    315384                "simple-html-tokenizer": "^0.4.1",
    316385                "tinycolor2": "^1.4.1",
    317                 "uuid": "^3.1.0"
     386                "uuid": "^3.3.2"
     387            },
     388            "dependencies": {
     389                "@wordpress/compose": {
     390                    "version": "2.1.2",
     391                    "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     392                    "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
     393                    "requires": {
     394                        "@babel/runtime": "^7.0.0",
     395                        "@wordpress/deprecated": "^2.0.3",
     396                        "@wordpress/element": "^2.1.7",
     397                        "@wordpress/is-shallow-equal": "^1.1.4",
     398                        "lodash": "^4.17.10"
     399                    }
     400                },
     401                "@wordpress/data": {
     402                    "version": "3.1.2",
     403                    "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
     404                    "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
     405                    "requires": {
     406                        "@babel/runtime": "^7.0.0",
     407                        "@wordpress/compose": "^2.1.2",
     408                        "@wordpress/deprecated": "^2.0.3",
     409                        "@wordpress/element": "^2.1.7",
     410                        "@wordpress/is-shallow-equal": "^1.1.4",
     411                        "@wordpress/redux-routine": "^3.0.3",
     412                        "equivalent-key-map": "^0.2.2",
     413                        "is-promise": "^2.1.0",
     414                        "lodash": "^4.17.10",
     415                        "redux": "^4.0.0",
     416                        "turbo-combine-reducers": "^1.0.2"
     417                    }
     418                },
     419                "@wordpress/dom": {
     420                    "version": "2.0.6",
     421                    "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-2.0.6.tgz",
     422                    "integrity": "sha512-z1xdNASrkJc+FTdYAEDKub7pqrizAo2WFlkBmqrurwBcY/HoOTTEqg6wzq2SwvEq/rff741BCWD/JmGU7tI3AQ==",
     423                    "requires": {
     424                        "@babel/runtime": "^7.0.0",
     425                        "lodash": "^4.17.10"
     426                    }
     427                },
     428                "@wordpress/element": {
     429                    "version": "2.1.7",
     430                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     431                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     432                    "requires": {
     433                        "@babel/runtime": "^7.0.0",
     434                        "@wordpress/escape-html": "^1.0.1",
     435                        "lodash": "^4.17.10",
     436                        "react": "^16.4.1",
     437                        "react-dom": "^16.4.1"
     438                    }
     439                }
    318440            }
    319441        },
    320442        "@wordpress/components": {
    321             "version": "5.0.1",
    322             "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-5.0.1.tgz",
    323             "integrity": "sha512-Ub3h47JjZbzDw94JJaL0B4TiSLb73aqEAZOxjGPeJ72aR4TZS8mwayxN+tcgIAi0VEkcOWz2559CHk0UM214IA==",
     443            "version": "6.0.0",
     444            "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-6.0.0.tgz",
     445            "integrity": "sha512-0TeXSfUYHeismfdrTKeFnxg30Nz2F9ZgvqTz2KAiQcCzwgZ/cY8ijf9Ef6Xl11RCEsKoN82tYmc5WNTRrClObA==",
    324446            "requires": {
    325447                "@babel/runtime": "^7.0.0",
    326448                "@wordpress/a11y": "^2.0.2",
    327                 "@wordpress/api-fetch": "^2.2.1",
    328                 "@wordpress/compose": "^2.1.0",
     449                "@wordpress/api-fetch": "^2.2.3",
     450                "@wordpress/compose": "^2.1.2",
    329451                "@wordpress/deprecated": "^2.0.3",
    330                 "@wordpress/dom": "^2.0.4",
    331                 "@wordpress/element": "^2.1.5",
     452                "@wordpress/dom": "^2.0.6",
     453                "@wordpress/element": "^2.1.7",
    332454                "@wordpress/hooks": "^2.0.3",
    333455                "@wordpress/i18n": "^3.0.1",
    334456                "@wordpress/is-shallow-equal": "^1.1.4",
    335457                "@wordpress/keycodes": "^2.0.3",
    336                 "@wordpress/url": "^2.2.0",
     458                "@wordpress/url": "^2.3.0",
    337459                "classnames": "^2.2.5",
    338460                "clipboard": "^2.0.1",
     
    348470                "rememo": "^3.0.0",
    349471                "tinycolor2": "^1.4.1",
    350                 "uuid": "^3.1.0"
     472                "uuid": "^3.3.2"
     473            },
     474            "dependencies": {
     475                "@wordpress/compose": {
     476                    "version": "2.1.2",
     477                    "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     478                    "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
     479                    "requires": {
     480                        "@babel/runtime": "^7.0.0",
     481                        "@wordpress/deprecated": "^2.0.3",
     482                        "@wordpress/element": "^2.1.7",
     483                        "@wordpress/is-shallow-equal": "^1.1.4",
     484                        "lodash": "^4.17.10"
     485                    }
     486                },
     487                "@wordpress/dom": {
     488                    "version": "2.0.6",
     489                    "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-2.0.6.tgz",
     490                    "integrity": "sha512-z1xdNASrkJc+FTdYAEDKub7pqrizAo2WFlkBmqrurwBcY/HoOTTEqg6wzq2SwvEq/rff741BCWD/JmGU7tI3AQ==",
     491                    "requires": {
     492                        "@babel/runtime": "^7.0.0",
     493                        "lodash": "^4.17.10"
     494                    }
     495                },
     496                "@wordpress/element": {
     497                    "version": "2.1.7",
     498                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     499                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     500                    "requires": {
     501                        "@babel/runtime": "^7.0.0",
     502                        "@wordpress/escape-html": "^1.0.1",
     503                        "lodash": "^4.17.10",
     504                        "react": "^16.4.1",
     505                        "react-dom": "^16.4.1"
     506                    }
     507                }
    351508            }
    352509        },
    353510        "@wordpress/compose": {
    354             "version": "2.1.0",
    355             "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.0.tgz",
    356             "integrity": "sha512-QtjesFxEdLAUoBxFQ7rkpUG5aA4ccRxZI71fz0RkMiBVKoUHIqy+R6VGViL/wkdYigmfD9KU89Rg3Ksk40hVIA==",
     511            "version": "2.1.2",
     512            "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     513            "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
    357514            "requires": {
    358515                "@babel/runtime": "^7.0.0",
    359516                "@wordpress/deprecated": "^2.0.3",
    360                 "@wordpress/element": "^2.1.5",
     517                "@wordpress/element": "^2.1.7",
    361518                "@wordpress/is-shallow-equal": "^1.1.4",
    362519                "lodash": "^4.17.10"
     
    364521        },
    365522        "@wordpress/core-data": {
    366             "version": "2.0.8",
    367             "resolved": "https://registry.npmjs.org/@wordpress/core-data/-/core-data-2.0.8.tgz",
    368             "integrity": "sha512-HJo8C/fX5w1pWT4Qw06KUdSCqi3mabrcljMYvspHdezynlGPd+0qJIlMav3cG6TQ6vZsTu+HN8gDiPT1gay8dw==",
     523            "version": "2.0.12",
     524            "resolved": "https://registry.npmjs.org/@wordpress/core-data/-/core-data-2.0.12.tgz",
     525            "integrity": "sha512-Z1nby7U+m+R2LVH2N6YEanbSbBiwKc+Ce646TULbnP7+S1NMGiLTlY00/00TWuIlQ6+gFHAd3lDuwigY6LZorw==",
    369526            "requires": {
    370527                "@babel/runtime": "^7.0.0",
    371                 "@wordpress/api-fetch": "^2.2.1",
    372                 "@wordpress/data": "^3.0.1",
    373                 "@wordpress/url": "^2.2.0",
     528                "@wordpress/api-fetch": "^2.2.3",
     529                "@wordpress/data": "^3.1.2",
     530                "@wordpress/url": "^2.3.0",
    374531                "equivalent-key-map": "^0.2.2",
    375532                "lodash": "^4.17.10",
    376533                "rememo": "^3.0.0"
     534            },
     535            "dependencies": {
     536                "@wordpress/compose": {
     537                    "version": "2.1.2",
     538                    "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     539                    "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
     540                    "requires": {
     541                        "@babel/runtime": "^7.0.0",
     542                        "@wordpress/deprecated": "^2.0.3",
     543                        "@wordpress/element": "^2.1.7",
     544                        "@wordpress/is-shallow-equal": "^1.1.4",
     545                        "lodash": "^4.17.10"
     546                    }
     547                },
     548                "@wordpress/data": {
     549                    "version": "3.1.2",
     550                    "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
     551                    "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
     552                    "requires": {
     553                        "@babel/runtime": "^7.0.0",
     554                        "@wordpress/compose": "^2.1.2",
     555                        "@wordpress/deprecated": "^2.0.3",
     556                        "@wordpress/element": "^2.1.7",
     557                        "@wordpress/is-shallow-equal": "^1.1.4",
     558                        "@wordpress/redux-routine": "^3.0.3",
     559                        "equivalent-key-map": "^0.2.2",
     560                        "is-promise": "^2.1.0",
     561                        "lodash": "^4.17.10",
     562                        "redux": "^4.0.0",
     563                        "turbo-combine-reducers": "^1.0.2"
     564                    }
     565                },
     566                "@wordpress/element": {
     567                    "version": "2.1.7",
     568                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     569                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     570                    "requires": {
     571                        "@babel/runtime": "^7.0.0",
     572                        "@wordpress/escape-html": "^1.0.1",
     573                        "lodash": "^4.17.10",
     574                        "react": "^16.4.1",
     575                        "react-dom": "^16.4.1"
     576                    }
     577                }
    377578            }
    378579        },
     
    388589        },
    389590        "@wordpress/data": {
    390             "version": "3.0.1",
    391             "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.0.1.tgz",
    392             "integrity": "sha512-7sMJ1EhaONY6vT7Miq534xhtKF+J/LecdiyX4r+DLk1Zgeacl48hUwGGvCzJ+CzwJZ06L1F/5lIEAiWM6he77A==",
     591            "version": "3.1.2",
     592            "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
     593            "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
    393594            "requires": {
    394595                "@babel/runtime": "^7.0.0",
    395                 "@wordpress/compose": "^2.1.0",
    396                 "@wordpress/element": "^2.1.5",
     596                "@wordpress/compose": "^2.1.2",
     597                "@wordpress/deprecated": "^2.0.3",
     598                "@wordpress/element": "^2.1.7",
    397599                "@wordpress/is-shallow-equal": "^1.1.4",
    398600                "@wordpress/redux-routine": "^3.0.3",
     
    405607        },
    406608        "@wordpress/date": {
    407             "version": "2.1.0",
    408             "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-2.1.0.tgz",
    409             "integrity": "sha512-MMDU2/N0unnwKTmaeCYy4fW/CuyCdM5t+/ANXVigBxY/IiOGeRXnmiU4VHK1BshEnsWRJz687MmEGEkxVpwd8w==",
     609            "version": "2.2.1",
     610            "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-2.2.1.tgz",
     611            "integrity": "sha512-icDlv9HAEVx4xXveU9m93CHqH+82SqkL/Y3Po9jjuCS6K2F0OMJURdQSbcf6QJ6KmCXJzeQTq4/IrtioXOEy5w==",
    410612            "requires": {
    411613                "@babel/runtime": "^7.0.0",
     
    424626        },
    425627        "@wordpress/dom": {
    426             "version": "2.0.4",
    427             "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-2.0.4.tgz",
    428             "integrity": "sha512-uW/yeWayoSu6uUA+xrM+yCbNJc3oQfga1Y1PUgXvowv0ydn5Qhgh2Dj07ANgg1AncZqFZsObPerBFNloaJhsvQ==",
     628            "version": "2.0.6",
     629            "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-2.0.6.tgz",
     630            "integrity": "sha512-z1xdNASrkJc+FTdYAEDKub7pqrizAo2WFlkBmqrurwBcY/HoOTTEqg6wzq2SwvEq/rff741BCWD/JmGU7tI3AQ==",
    429631            "requires": {
    430632                "@babel/runtime": "^7.0.0",
     
    441643        },
    442644        "@wordpress/edit-post": {
    443             "version": "2.0.2",
    444             "resolved": "https://registry.npmjs.org/@wordpress/edit-post/-/edit-post-2.0.2.tgz",
    445             "integrity": "sha512-oSArO39TUFR+PboGABq85aYBxo8suOnjJIwc7KzhoelhGVQ+AHxN83xk8L4fhgWvp5v4k4rNu7i/HiVdy0iIsw==",
     645            "version": "3.0.0",
     646            "resolved": "https://registry.npmjs.org/@wordpress/edit-post/-/edit-post-3.0.0.tgz",
     647            "integrity": "sha512-sswJ8jFYoUn70WGcWuxzPCldjAsAlmyBfOsfEdy6LDeBvxwi84Bk9CzooJr/V+FGsRmMtmRA5O6XbpnaBVo6Ig==",
    446648            "requires": {
    447649                "@babel/runtime": "^7.0.0",
    448650                "@wordpress/a11y": "^2.0.2",
    449                 "@wordpress/api-fetch": "^2.2.1",
    450                 "@wordpress/block-library": "^2.1.7",
    451                 "@wordpress/blocks": "^5.1.1",
    452                 "@wordpress/components": "^5.0.1",
    453                 "@wordpress/compose": "^2.1.0",
    454                 "@wordpress/core-data": "^2.0.8",
    455                 "@wordpress/data": "^3.0.1",
    456                 "@wordpress/deprecated": "^2.0.3",
    457                 "@wordpress/editor": "^6.1.0",
    458                 "@wordpress/element": "^2.1.5",
    459                 "@wordpress/format-library": "^1.0.2",
     651                "@wordpress/api-fetch": "^2.2.3",
     652                "@wordpress/block-library": "^2.2.2",
     653                "@wordpress/blocks": "^5.3.1",
     654                "@wordpress/components": "^6.0.0",
     655                "@wordpress/compose": "^2.1.2",
     656                "@wordpress/core-data": "^2.0.12",
     657                "@wordpress/data": "^3.1.2",
     658                "@wordpress/editor": "^7.0.0",
     659                "@wordpress/element": "^2.1.7",
     660                "@wordpress/format-library": "^1.2.0",
    460661                "@wordpress/hooks": "^2.0.3",
    461662                "@wordpress/i18n": "^3.0.1",
    462663                "@wordpress/keycodes": "^2.0.3",
    463                 "@wordpress/nux": "^2.0.8",
    464                 "@wordpress/plugins": "^2.0.6",
    465                 "@wordpress/url": "^2.2.0",
    466                 "@wordpress/viewport": "^2.0.7",
     664                "@wordpress/nux": "^2.0.12",
     665                "@wordpress/plugins": "^2.0.8",
     666                "@wordpress/url": "^2.3.0",
     667                "@wordpress/viewport": "^2.0.10",
    467668                "classnames": "^2.2.5",
    468669                "lodash": "^4.17.10",
    469670                "refx": "^3.0.0"
     671            },
     672            "dependencies": {
     673                "@wordpress/compose": {
     674                    "version": "2.1.2",
     675                    "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     676                    "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
     677                    "requires": {
     678                        "@babel/runtime": "^7.0.0",
     679                        "@wordpress/deprecated": "^2.0.3",
     680                        "@wordpress/element": "^2.1.7",
     681                        "@wordpress/is-shallow-equal": "^1.1.4",
     682                        "lodash": "^4.17.10"
     683                    }
     684                },
     685                "@wordpress/data": {
     686                    "version": "3.1.2",
     687                    "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
     688                    "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
     689                    "requires": {
     690                        "@babel/runtime": "^7.0.0",
     691                        "@wordpress/compose": "^2.1.2",
     692                        "@wordpress/deprecated": "^2.0.3",
     693                        "@wordpress/element": "^2.1.7",
     694                        "@wordpress/is-shallow-equal": "^1.1.4",
     695                        "@wordpress/redux-routine": "^3.0.3",
     696                        "equivalent-key-map": "^0.2.2",
     697                        "is-promise": "^2.1.0",
     698                        "lodash": "^4.17.10",
     699                        "redux": "^4.0.0",
     700                        "turbo-combine-reducers": "^1.0.2"
     701                    }
     702                },
     703                "@wordpress/element": {
     704                    "version": "2.1.7",
     705                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     706                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     707                    "requires": {
     708                        "@babel/runtime": "^7.0.0",
     709                        "@wordpress/escape-html": "^1.0.1",
     710                        "lodash": "^4.17.10",
     711                        "react": "^16.4.1",
     712                        "react-dom": "^16.4.1"
     713                    }
     714                },
     715                "@wordpress/plugins": {
     716                    "version": "2.0.8",
     717                    "resolved": "https://registry.npmjs.org/@wordpress/plugins/-/plugins-2.0.8.tgz",
     718                    "integrity": "sha512-qxoUQ6QukmktKDAIvYg+tJBSihZ/gPftxXOuYhoPBADXnAUxh6s7njpWebf2sw7pJjQPYv4EG7/edOQ0bt6C9Q==",
     719                    "requires": {
     720                        "@babel/runtime": "^7.0.0",
     721                        "@wordpress/compose": "^2.1.2",
     722                        "@wordpress/element": "^2.1.7",
     723                        "@wordpress/hooks": "^2.0.3",
     724                        "lodash": "^4.17.10"
     725                    }
     726                },
     727                "@wordpress/viewport": {
     728                    "version": "2.0.10",
     729                    "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-2.0.10.tgz",
     730                    "integrity": "sha512-G+7VgUQkRu9JwrsiBvTs/CS87vs6wcxCknr2lWU14rk55FWpxg4fhduRHUcBYEk7E+bvOHV1TgnAspBncu1aYg==",
     731                    "requires": {
     732                        "@babel/runtime": "^7.0.0",
     733                        "@wordpress/compose": "^2.1.2",
     734                        "@wordpress/data": "^3.1.2",
     735                        "@wordpress/element": "^2.1.7",
     736                        "lodash": "^4.17.10"
     737                    }
     738                }
    470739            }
    471740        },
    472741        "@wordpress/editor": {
    473             "version": "6.1.0",
    474             "resolved": "https://registry.npmjs.org/@wordpress/editor/-/editor-6.1.0.tgz",
    475             "integrity": "sha512-ppc5PLjecQrFMSb/I5bv1ENR0E7BSWoqrsW+IjapPkdhPrw5i2UtL3wWb13Nn+4G6UQEUJQO+md+uXnlVMdNkg==",
     742            "version": "7.0.0",
     743            "resolved": "https://registry.npmjs.org/@wordpress/editor/-/editor-7.0.0.tgz",
     744            "integrity": "sha512-aNSwKvBlU6tg9qwte+yMk8W+sgOy2HUQyoyoPJIXo0awqfDPLFrBG8I7tnicybPXxxtBNamybSf6TVB1R/kn8A==",
    476745            "requires": {
    477746                "@babel/runtime": "^7.0.0",
    478747                "@wordpress/a11y": "^2.0.2",
    479                 "@wordpress/api-fetch": "^2.2.1",
     748                "@wordpress/api-fetch": "^2.2.3",
    480749                "@wordpress/blob": "^2.1.0",
    481                 "@wordpress/blocks": "^5.1.1",
    482                 "@wordpress/components": "^5.0.1",
    483                 "@wordpress/compose": "^2.1.0",
    484                 "@wordpress/core-data": "^2.0.8",
    485                 "@wordpress/data": "^3.0.1",
    486                 "@wordpress/date": "^2.1.0",
     750                "@wordpress/blocks": "^5.3.1",
     751                "@wordpress/components": "^6.0.0",
     752                "@wordpress/compose": "^2.1.2",
     753                "@wordpress/core-data": "^2.0.12",
     754                "@wordpress/data": "^3.1.2",
     755                "@wordpress/date": "^2.2.1",
    487756                "@wordpress/deprecated": "^2.0.3",
    488                 "@wordpress/dom": "^2.0.4",
    489                 "@wordpress/element": "^2.1.5",
     757                "@wordpress/dom": "^2.0.6",
     758                "@wordpress/element": "^2.1.7",
    490759                "@wordpress/hooks": "^2.0.3",
    491760                "@wordpress/html-entities": "^2.0.2",
     
    493762                "@wordpress/is-shallow-equal": "^1.1.4",
    494763                "@wordpress/keycodes": "^2.0.3",
    495                 "@wordpress/notices": "^1.0.1",
    496                 "@wordpress/nux": "^2.0.8",
     764                "@wordpress/notices": "^1.0.4",
     765                "@wordpress/nux": "^2.0.12",
    497766                "@wordpress/token-list": "^1.0.2",
    498                 "@wordpress/url": "^2.2.0",
    499                 "@wordpress/viewport": "^2.0.7",
     767                "@wordpress/url": "^2.3.0",
     768                "@wordpress/viewport": "^2.0.10",
    500769                "@wordpress/wordcount": "^2.0.3",
    501770                "classnames": "^2.2.5",
     
    515784            },
    516785            "dependencies": {
     786                "@wordpress/compose": {
     787                    "version": "2.1.2",
     788                    "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     789                    "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
     790                    "requires": {
     791                        "@babel/runtime": "^7.0.0",
     792                        "@wordpress/deprecated": "^2.0.3",
     793                        "@wordpress/element": "^2.1.7",
     794                        "@wordpress/is-shallow-equal": "^1.1.4",
     795                        "lodash": "^4.17.10"
     796                    }
     797                },
     798                "@wordpress/data": {
     799                    "version": "3.1.2",
     800                    "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
     801                    "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
     802                    "requires": {
     803                        "@babel/runtime": "^7.0.0",
     804                        "@wordpress/compose": "^2.1.2",
     805                        "@wordpress/deprecated": "^2.0.3",
     806                        "@wordpress/element": "^2.1.7",
     807                        "@wordpress/is-shallow-equal": "^1.1.4",
     808                        "@wordpress/redux-routine": "^3.0.3",
     809                        "equivalent-key-map": "^0.2.2",
     810                        "is-promise": "^2.1.0",
     811                        "lodash": "^4.17.10",
     812                        "redux": "^4.0.0",
     813                        "turbo-combine-reducers": "^1.0.2"
     814                    }
     815                },
     816                "@wordpress/date": {
     817                    "version": "2.2.1",
     818                    "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-2.2.1.tgz",
     819                    "integrity": "sha512-icDlv9HAEVx4xXveU9m93CHqH+82SqkL/Y3Po9jjuCS6K2F0OMJURdQSbcf6QJ6KmCXJzeQTq4/IrtioXOEy5w==",
     820                    "requires": {
     821                        "@babel/runtime": "^7.0.0",
     822                        "moment": "^2.22.1",
     823                        "moment-timezone": "^0.5.16"
     824                    }
     825                },
     826                "@wordpress/dom": {
     827                    "version": "2.0.6",
     828                    "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-2.0.6.tgz",
     829                    "integrity": "sha512-z1xdNASrkJc+FTdYAEDKub7pqrizAo2WFlkBmqrurwBcY/HoOTTEqg6wzq2SwvEq/rff741BCWD/JmGU7tI3AQ==",
     830                    "requires": {
     831                        "@babel/runtime": "^7.0.0",
     832                        "lodash": "^4.17.10"
     833                    }
     834                },
     835                "@wordpress/element": {
     836                    "version": "2.1.7",
     837                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     838                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     839                    "requires": {
     840                        "@babel/runtime": "^7.0.0",
     841                        "@wordpress/escape-html": "^1.0.1",
     842                        "lodash": "^4.17.10",
     843                        "react": "^16.4.1",
     844                        "react-dom": "^16.4.1"
     845                    }
     846                },
     847                "@wordpress/notices": {
     848                    "version": "1.0.4",
     849                    "resolved": "https://registry.npmjs.org/@wordpress/notices/-/notices-1.0.4.tgz",
     850                    "integrity": "sha512-7vjv62bx2VJLagl6+8FPkQeVtWMd4tC3GYIqX6AU4HA6RUaC0VPxWxVTHt0tFXPL7bqUkOZgICNHTyzOIzdTzA==",
     851                    "requires": {
     852                        "@babel/runtime": "^7.0.0",
     853                        "@wordpress/a11y": "^2.0.2",
     854                        "@wordpress/data": "^3.1.2",
     855                        "lodash": "^4.17.10"
     856                    }
     857                },
     858                "@wordpress/viewport": {
     859                    "version": "2.0.10",
     860                    "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-2.0.10.tgz",
     861                    "integrity": "sha512-G+7VgUQkRu9JwrsiBvTs/CS87vs6wcxCknr2lWU14rk55FWpxg4fhduRHUcBYEk7E+bvOHV1TgnAspBncu1aYg==",
     862                    "requires": {
     863                        "@babel/runtime": "^7.0.0",
     864                        "@wordpress/compose": "^2.1.2",
     865                        "@wordpress/data": "^3.1.2",
     866                        "@wordpress/element": "^2.1.7",
     867                        "lodash": "^4.17.10"
     868                    }
     869                },
    517870                "jquery": {
    518871                    "version": "3.3.1",
     
    523876        },
    524877        "@wordpress/element": {
    525             "version": "2.1.5",
    526             "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.5.tgz",
    527             "integrity": "sha512-y567y5SZv3VXDrUw/qpO7ElrTc8/BhumAivVlpAItychfn/PdTxd2l5V1Cc91Uc2/JDoAhPCRIO23UFWX+Ehtw==",
     878            "version": "2.1.7",
     879            "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     880            "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
    528881            "requires": {
    529882                "@babel/runtime": "^7.0.0",
     
    543896        },
    544897        "@wordpress/format-library": {
    545             "version": "1.0.2",
    546             "resolved": "https://registry.npmjs.org/@wordpress/format-library/-/format-library-1.0.2.tgz",
    547             "integrity": "sha512-Y49EBpjfo6CbkT8ytuCfaLq53vdGGO+R3XkmEIGrdwaPUFgUyICtrNZKRxml6wx63DdcernaDeYMfz5XWuMWnQ==",
     898            "version": "1.2.0",
     899            "resolved": "https://registry.npmjs.org/@wordpress/format-library/-/format-library-1.2.0.tgz",
     900            "integrity": "sha512-FnkzmgMYrKiBdQN1iDUgqjqZTnniHsrxcg/MvQwpg+inRtXYUTh2lp4wWsn9lEO2g2t85r69GAYsC8TmmaUjEQ==",
    548901            "requires": {
    549902                "@babel/runtime": "^7.0.0",
    550                 "@wordpress/components": "^5.0.1",
    551                 "@wordpress/dom": "^2.0.4",
    552                 "@wordpress/editor": "^6.1.0",
    553                 "@wordpress/element": "^2.1.5",
     903                "@wordpress/components": "^6.0.0",
     904                "@wordpress/dom": "^2.0.6",
     905                "@wordpress/editor": "^7.0.0",
     906                "@wordpress/element": "^2.1.7",
    554907                "@wordpress/i18n": "^3.0.1",
    555908                "@wordpress/keycodes": "^2.0.3",
    556                 "@wordpress/rich-text": "^2.0.1",
    557                 "@wordpress/url": "^2.2.0"
     909                "@wordpress/rich-text": "^2.0.4",
     910                "@wordpress/url": "^2.3.0"
    558911            },
    559912            "dependencies": {
     
    568921                        "@wordpress/is-shallow-equal": "^1.1.4",
    569922                        "lodash": "^4.17.10"
    570                     },
    571                     "dependencies": {
    572                         "@wordpress/element": {
    573                             "version": "2.1.8",
    574                             "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.8.tgz",
    575                             "integrity": "sha512-hPbNWcxGQCpTeXoTdwr0Bu3kNJMSSKAnIb5B8P/2lTQ9mJ6w8l1Vc/0L11Yy8+uElaLwGq4Lja9ljgTlWbXUkA==",
    576                             "requires": {
    577                                 "@babel/runtime": "^7.0.0",
    578                                 "@wordpress/escape-html": "^1.0.1",
    579                                 "lodash": "^4.17.10",
    580                                 "react": "^16.6.3",
    581                                 "react-dom": "^16.6.3"
    582                             }
    583                         }
     923                    }
     924                },
     925                "@wordpress/data": {
     926                    "version": "3.1.2",
     927                    "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
     928                    "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
     929                    "requires": {
     930                        "@babel/runtime": "^7.0.0",
     931                        "@wordpress/compose": "^2.1.2",
     932                        "@wordpress/deprecated": "^2.0.3",
     933                        "@wordpress/element": "^2.1.7",
     934                        "@wordpress/is-shallow-equal": "^1.1.4",
     935                        "@wordpress/redux-routine": "^3.0.3",
     936                        "equivalent-key-map": "^0.2.2",
     937                        "is-promise": "^2.1.0",
     938                        "lodash": "^4.17.10",
     939                        "redux": "^4.0.0",
     940                        "turbo-combine-reducers": "^1.0.2"
     941                    }
     942                },
     943                "@wordpress/dom": {
     944                    "version": "2.0.6",
     945                    "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-2.0.6.tgz",
     946                    "integrity": "sha512-z1xdNASrkJc+FTdYAEDKub7pqrizAo2WFlkBmqrurwBcY/HoOTTEqg6wzq2SwvEq/rff741BCWD/JmGU7tI3AQ==",
     947                    "requires": {
     948                        "@babel/runtime": "^7.0.0",
     949                        "lodash": "^4.17.10"
     950                    }
     951                },
     952                "@wordpress/element": {
     953                    "version": "2.1.7",
     954                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     955                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     956                    "requires": {
     957                        "@babel/runtime": "^7.0.0",
     958                        "@wordpress/escape-html": "^1.0.1",
     959                        "lodash": "^4.17.10",
     960                        "react": "^16.4.1",
     961                        "react-dom": "^16.4.1"
    584962                    }
    585963                },
     
    595973                        "lodash": "^4.17.10",
    596974                        "rememo": "^3.0.0"
    597                     },
    598                     "dependencies": {
    599                         "@wordpress/data": {
    600                             "version": "3.1.2",
    601                             "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
    602                             "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
    603                             "requires": {
    604                                 "@babel/runtime": "^7.0.0",
    605                                 "@wordpress/compose": "^2.1.2",
    606                                 "@wordpress/deprecated": "^2.0.3",
    607                                 "@wordpress/element": "^2.1.7",
    608                                 "@wordpress/is-shallow-equal": "^1.1.4",
    609                                 "@wordpress/redux-routine": "^3.0.3",
    610                                 "equivalent-key-map": "^0.2.2",
    611                                 "is-promise": "^2.1.0",
    612                                 "lodash": "^4.17.10",
    613                                 "redux": "^4.0.0",
    614                                 "turbo-combine-reducers": "^1.0.2"
    615                             }
    616                         },
    617                         "@wordpress/element": {
    618                             "version": "2.1.8",
    619                             "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.8.tgz",
    620                             "integrity": "sha512-hPbNWcxGQCpTeXoTdwr0Bu3kNJMSSKAnIb5B8P/2lTQ9mJ6w8l1Vc/0L11Yy8+uElaLwGq4Lja9ljgTlWbXUkA==",
    621                             "requires": {
    622                                 "@babel/runtime": "^7.0.0",
    623                                 "@wordpress/escape-html": "^1.0.1",
    624                                 "lodash": "^4.17.10",
    625                                 "react": "^16.6.3",
    626                                 "react-dom": "^16.6.3"
    627                             }
    628                         }
    629                     }
    630                 },
    631                 "react": {
    632                     "version": "16.6.3",
    633                     "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz",
    634                     "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==",
    635                     "requires": {
    636                         "loose-envify": "^1.1.0",
    637                         "object-assign": "^4.1.1",
    638                         "prop-types": "^15.6.2",
    639                         "scheduler": "^0.11.2"
    640                     }
    641                 },
    642                 "react-dom": {
    643                     "version": "16.6.3",
    644                     "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz",
    645                     "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==",
    646                     "requires": {
    647                         "loose-envify": "^1.1.0",
    648                         "object-assign": "^4.1.1",
    649                         "prop-types": "^15.6.2",
    650                         "scheduler": "^0.11.2"
    651975                    }
    652976                }
     
    7101034        },
    7111035        "@wordpress/list-reusable-blocks": {
    712             "version": "1.1.6",
    713             "resolved": "https://registry.npmjs.org/@wordpress/list-reusable-blocks/-/list-reusable-blocks-1.1.6.tgz",
    714             "integrity": "sha512-69FxfHl8zb0kYcYkAFE9zJCUpBfOP/zLGVa96yTaf/kP0RDrb6oB8APLOWtBrAxIriKcksinjwi1WZv5kw7+fA==",
     1036            "version": "1.1.10",
     1037            "resolved": "https://registry.npmjs.org/@wordpress/list-reusable-blocks/-/list-reusable-blocks-1.1.10.tgz",
     1038            "integrity": "sha512-8Jdee13/AYfEYbTXZqz9XHbhKdw0c41oa3bf3nKWqrf2DaNWxLBAT9U9VsINcfFa0+508fLf6kgRCjNpmHvNag==",
    7151039            "requires": {
    7161040                "@babel/runtime": "^7.0.0",
    717                 "@wordpress/api-fetch": "^2.2.1",
    718                 "@wordpress/components": "^5.0.1",
    719                 "@wordpress/compose": "^2.1.0",
    720                 "@wordpress/element": "^2.1.5",
     1041                "@wordpress/api-fetch": "^2.2.3",
     1042                "@wordpress/components": "^6.0.0",
     1043                "@wordpress/compose": "^2.1.2",
     1044                "@wordpress/element": "^2.1.7",
    7211045                "@wordpress/i18n": "^3.0.1",
    7221046                "lodash": "^4.17.10"
     1047            },
     1048            "dependencies": {
     1049                "@wordpress/compose": {
     1050                    "version": "2.1.2",
     1051                    "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     1052                    "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
     1053                    "requires": {
     1054                        "@babel/runtime": "^7.0.0",
     1055                        "@wordpress/deprecated": "^2.0.3",
     1056                        "@wordpress/element": "^2.1.7",
     1057                        "@wordpress/is-shallow-equal": "^1.1.4",
     1058                        "lodash": "^4.17.10"
     1059                    }
     1060                },
     1061                "@wordpress/element": {
     1062                    "version": "2.1.7",
     1063                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     1064                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     1065                    "requires": {
     1066                        "@babel/runtime": "^7.0.0",
     1067                        "@wordpress/escape-html": "^1.0.1",
     1068                        "lodash": "^4.17.10",
     1069                        "react": "^16.4.1",
     1070                        "react-dom": "^16.4.1"
     1071                    }
     1072                }
    7231073            }
    7241074        },
    7251075        "@wordpress/notices": {
    726             "version": "1.0.1",
    727             "resolved": "https://registry.npmjs.org/@wordpress/notices/-/notices-1.0.1.tgz",
    728             "integrity": "sha512-Spj6SWDIYUOXA8YtJaX5um0SIqWMKPwJHKnMyFd8pq6K3dsp+vVwsTQEld06XxN9ZyQCKXkQkY1R8rzQozvD2w==",
     1076            "version": "1.0.4",
     1077            "resolved": "https://registry.npmjs.org/@wordpress/notices/-/notices-1.0.4.tgz",
     1078            "integrity": "sha512-7vjv62bx2VJLagl6+8FPkQeVtWMd4tC3GYIqX6AU4HA6RUaC0VPxWxVTHt0tFXPL7bqUkOZgICNHTyzOIzdTzA==",
    7291079            "requires": {
    7301080                "@babel/runtime": "^7.0.0",
    7311081                "@wordpress/a11y": "^2.0.2",
    732                 "@wordpress/data": "^3.0.1",
     1082                "@wordpress/data": "^3.1.2",
    7331083                "lodash": "^4.17.10"
    7341084            }
    7351085        },
    7361086        "@wordpress/nux": {
    737             "version": "2.0.8",
    738             "resolved": "https://registry.npmjs.org/@wordpress/nux/-/nux-2.0.8.tgz",
    739             "integrity": "sha512-DgOLf9wRq+nYK8+KOf/1+DcZQMIo7eQBPN7rffwA3qoVlyzN3Emkn1O4pJwK+c/o5hp0TU2nHRKrYbUvWAwgMQ==",
     1087            "version": "2.0.12",
     1088            "resolved": "https://registry.npmjs.org/@wordpress/nux/-/nux-2.0.12.tgz",
     1089            "integrity": "sha512-y97Q/plpcFPTRYqbfeucmIOnJe1jEIJwFJxJinDqifcfGhYZ4/x3JN7+9uwyatdT8oDzHUO67VoE9z2k2fPTmQ==",
    7401090            "requires": {
    7411091                "@babel/runtime": "^7.0.0",
    742                 "@wordpress/components": "^5.0.1",
    743                 "@wordpress/compose": "^2.1.0",
    744                 "@wordpress/data": "^3.0.1",
     1092                "@wordpress/components": "^6.0.0",
     1093                "@wordpress/compose": "^2.1.2",
     1094                "@wordpress/data": "^3.1.2",
    7451095                "@wordpress/deprecated": "^2.0.3",
    746                 "@wordpress/element": "^2.1.5",
     1096                "@wordpress/element": "^2.1.7",
    7471097                "@wordpress/i18n": "^3.0.1",
    7481098                "lodash": "^4.17.10",
    7491099                "rememo": "^3.0.0"
     1100            },
     1101            "dependencies": {
     1102                "@wordpress/compose": {
     1103                    "version": "2.1.2",
     1104                    "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.2.tgz",
     1105                    "integrity": "sha512-jr1bWRYx8vt4bCWB4hqR9Ve9rk/TCJ5mFRvkwEd+xTDyXG6ZMmps3HszGA6aCH7E+TCHH+bWw2qZo9sAeHVK/w==",
     1106                    "requires": {
     1107                        "@babel/runtime": "^7.0.0",
     1108                        "@wordpress/deprecated": "^2.0.3",
     1109                        "@wordpress/element": "^2.1.7",
     1110                        "@wordpress/is-shallow-equal": "^1.1.4",
     1111                        "lodash": "^4.17.10"
     1112                    }
     1113                },
     1114                "@wordpress/data": {
     1115                    "version": "3.1.2",
     1116                    "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-3.1.2.tgz",
     1117                    "integrity": "sha512-aAYgRIljpLboplTaCA7t5r+qVjE53VGMS7rLjSHFsoFxj9GYPiCCX1f/B01eKz9pf04rVdM2N4cEowyxjkhKFA==",
     1118                    "requires": {
     1119                        "@babel/runtime": "^7.0.0",
     1120                        "@wordpress/compose": "^2.1.2",
     1121                        "@wordpress/deprecated": "^2.0.3",
     1122                        "@wordpress/element": "^2.1.7",
     1123                        "@wordpress/is-shallow-equal": "^1.1.4",
     1124                        "@wordpress/redux-routine": "^3.0.3",
     1125                        "equivalent-key-map": "^0.2.2",
     1126                        "is-promise": "^2.1.0",
     1127                        "lodash": "^4.17.10",
     1128                        "redux": "^4.0.0",
     1129                        "turbo-combine-reducers": "^1.0.2"
     1130                    }
     1131                },
     1132                "@wordpress/element": {
     1133                    "version": "2.1.7",
     1134                    "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.7.tgz",
     1135                    "integrity": "sha512-+2Nbs0R3eP2gNrH0z1H5ZXTr0Lja7ZGFrtlKXa3+ZblHDBAheSB24ZEbQqZJTK1zdGw+GOU/vXPyY4ThHHJiPg==",
     1136                    "requires": {
     1137                        "@babel/runtime": "^7.0.0",
     1138                        "@wordpress/escape-html": "^1.0.1",
     1139                        "lodash": "^4.17.10",
     1140                        "react": "^16.4.1",
     1141                        "react-dom": "^16.4.1"
     1142                    }
     1143                }
    7501144            }
    7511145        },
    7521146        "@wordpress/plugins": {
    753             "version": "2.0.6",
    754             "resolved": "https://registry.npmjs.org/@wordpress/plugins/-/plugins-2.0.6.tgz",
    755             "integrity": "sha512-6irK6QjXc414ns0P/gSMJFUBXDVxqvuHmYKGNo5lyBbmas68WwyBwV/V52wP1cBhfqo3LCpYshX+jzTm/HXMLw==",
     1147            "version": "2.0.8",
     1148            "resolved": "https://registry.npmjs.org/@wordpress/plugins/-/plugins-2.0.8.tgz",
     1149            "integrity": "sha512-qxoUQ6QukmktKDAIvYg+tJBSihZ/gPftxXOuYhoPBADXnAUxh6s7njpWebf2sw7pJjQPYv4EG7/edOQ0bt6C9Q==",
    7561150            "requires": {
    7571151                "@babel/runtime": "^7.0.0",
    758                 "@wordpress/compose": "^2.1.0",
    759                 "@wordpress/element": "^2.1.5",
     1152                "@wordpress/compose": "^2.1.2",
     1153                "@wordpress/element": "^2.1.7",
    7601154                "@wordpress/hooks": "^2.0.3",
    7611155                "lodash": "^4.17.10"
     
    7731167        },
    7741168        "@wordpress/rich-text": {
    775             "version": "2.0.1",
    776             "resolved": "https://registry.npmjs.org/@wordpress/rich-text/-/rich-text-2.0.1.tgz",
    777             "integrity": "sha512-cWbb3CryMaUkUARX+izJu++60IC8vRz68oxgg/bKP3l8Bof2NaAZJt637qQCghl5XVzUXjpBayufF3bdnuajfA==",
     1169            "version": "2.0.4",
     1170            "resolved": "https://registry.npmjs.org/@wordpress/rich-text/-/rich-text-2.0.4.tgz",
     1171            "integrity": "sha512-c1DQ5xhVb8k1PV/9fTCSFHyu8SbKVzM3tCG7JX/fsUppzjV3CzljkxSYRm1GrFidRX5uqOYP+SGWi9x25Cnl1g==",
    7781172            "requires": {
    7791173                "@babel/runtime": "^7.0.0",
    780                 "@wordpress/data": "^3.0.1",
     1174                "@wordpress/data": "^3.1.2",
    7811175                "@wordpress/deprecated": "^2.0.3",
    7821176                "@wordpress/escape-html": "^1.0.1",
     
    8051199        },
    8061200        "@wordpress/url": {
    807             "version": "2.2.0",
    808             "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-2.2.0.tgz",
    809             "integrity": "sha512-Y1Vjbvkcfeh9scstzArW0f4G0v1YpevZcjlPvVM77gqXPxKhoBobc/XyErUaqWbozji6L2YE/baP/bYSOaswug==",
     1201            "version": "2.3.0",
     1202            "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-2.3.0.tgz",
     1203            "integrity": "sha512-Uzl6RZnPZZHM67Z6Rs4lHgGY7dJO6OHjWrcw5/Pnoy/WQGDAg1vl5lfTbRXSNKsubOsbvB9IF8qTwVoPEl/ezA==",
    8101204            "requires": {
    8111205                "@babel/runtime": "^7.0.0",
     
    8211215        },
    8221216        "@wordpress/viewport": {
    823             "version": "2.0.7",
    824             "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-2.0.7.tgz",
    825             "integrity": "sha512-bvJytESuTdoTr5GmLmKlLoWp4WfIsN7Jpe5u+EBrbbWXYlDPMBgEnD83bu8myPmQb56YJPPz561YCeTZMPjhDQ==",
     1217            "version": "2.0.10",
     1218            "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-2.0.10.tgz",
     1219            "integrity": "sha512-G+7VgUQkRu9JwrsiBvTs/CS87vs6wcxCknr2lWU14rk55FWpxg4fhduRHUcBYEk7E+bvOHV1TgnAspBncu1aYg==",
    8261220            "requires": {
    8271221                "@babel/runtime": "^7.0.0",
    828                 "@wordpress/compose": "^2.1.0",
    829                 "@wordpress/data": "^3.0.1",
    830                 "@wordpress/element": "^2.1.5",
     1222                "@wordpress/compose": "^2.1.2",
     1223                "@wordpress/data": "^3.1.2",
     1224                "@wordpress/element": "^2.1.7",
    8311225                "lodash": "^4.17.10"
    8321226            }
     
    1354313937            }
    1354413938        },
    13545         "scheduler": {
    13546             "version": "0.11.3",
    13547             "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz",
    13548             "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==",
    13549             "requires": {
    13550                 "loose-envify": "^1.1.0",
    13551                 "object-assign": "^4.1.1"
    13552             }
    13553         },
    1355413939        "schema-utils": {
    1355513940            "version": "0.4.7",
  • trunk/package.json

    r44260 r44261  
    5757        "@babel/polyfill": "^7.0.0",
    5858        "@wordpress/a11y": "^2.0.2",
    59         "@wordpress/api-fetch": "^2.2.1",
     59        "@wordpress/annotations": "^1.0.0",
     60        "@wordpress/api-fetch": "^2.2.3",
    6061        "@wordpress/autop": "^2.0.2",
    6162        "@wordpress/blob": "^2.1.0",
    62         "@wordpress/block-library": "^2.1.7",
    63         "@wordpress/block-serialization-default-parser": "^1.0.1",
    64         "@wordpress/blocks": "^5.1.1",
    65         "@wordpress/components": "^5.0.1",
    66         "@wordpress/compose": "^2.1.0",
    67         "@wordpress/core-data": "^2.0.8",
    68         "@wordpress/data": "^3.0.1",
    69         "@wordpress/date": "^2.1.0",
     63        "@wordpress/block-library": "^2.2.2",
     64        "@wordpress/block-serialization-default-parser": "^2.0.0",
     65        "@wordpress/blocks": "^5.3.1",
     66        "@wordpress/components": "^6.0.0",
     67        "@wordpress/compose": "^2.1.2",
     68        "@wordpress/core-data": "^2.0.12",
     69        "@wordpress/data": "^3.1.2",
     70        "@wordpress/date": "^2.2.1",
    7071        "@wordpress/deprecated": "^2.0.3",
    71         "@wordpress/dom": "^2.0.4",
     72        "@wordpress/dom": "^2.0.6",
    7273        "@wordpress/dom-ready": "^2.0.2",
    73         "@wordpress/edit-post": "^2.0.2",
    74         "@wordpress/editor": "^6.1.0",
    75         "@wordpress/element": "^2.1.5",
     74        "@wordpress/edit-post": "^3.0.0",
     75        "@wordpress/editor": "^7.0.0",
     76        "@wordpress/element": "^2.1.7",
    7677        "@wordpress/escape-html": "^1.0.1",
    77         "@wordpress/format-library": "^1.0.2",
     78        "@wordpress/format-library": "^1.2.0",
    7879        "@wordpress/hooks": "^2.0.3",
    7980        "@wordpress/html-entities": "^2.0.2",
     
    8182        "@wordpress/is-shallow-equal": "^1.1.4",
    8283        "@wordpress/keycodes": "^2.0.3",
    83         "@wordpress/list-reusable-blocks": "^1.1.6",
    84         "@wordpress/notices": "^1.0.1",
    85         "@wordpress/nux": "^2.0.8",
    86         "@wordpress/plugins": "^2.0.6",
     84        "@wordpress/list-reusable-blocks": "^1.1.10",
     85        "@wordpress/notices": "^1.0.4",
     86        "@wordpress/nux": "^2.0.12",
     87        "@wordpress/plugins": "^2.0.8",
    8788        "@wordpress/redux-routine": "^3.0.3",
    88         "@wordpress/rich-text": "^2.0.1",
     89        "@wordpress/rich-text": "^2.0.4",
    8990        "@wordpress/shortcode": "^2.0.2",
    9091        "@wordpress/token-list": "^1.0.2",
    91         "@wordpress/url": "^2.2.0",
    92         "@wordpress/viewport": "^2.0.7",
     92        "@wordpress/url": "^2.3.0",
     93        "@wordpress/viewport": "^2.0.10",
    9394        "@wordpress/wordcount": "^2.0.3",
    9495        "backbone": "1.3.3",
  • trunk/src/wp-admin/edit-form-blocks.php

    r44260 r44261  
    105105    // Override "(Auto Draft)" new post default title with empty string, or filtered value.
    106106    $initial_edits = array(
    107         'title'   => array(
    108             'raw' => $post->post_title,
    109         ),
    110         'content' => array(
    111             'raw' => $post->post_content,
    112         ),
    113         'excerpt' => array(
    114             'raw' => $post->post_excerpt,
    115         ),
     107        'title'   => $post->post_title,
     108        'content' => $post->post_content,
     109        'excerpt' => $post->post_excerpt,
    116110    );
    117111}
     
    204198
    205199// Image sizes.
    206 $image_sizes   = get_intermediate_image_sizes();
    207 $image_sizes[] = 'full';
    208200
    209201/** This filter is documented in wp-admin/includes/media.php */
     
    219211
    220212$available_image_sizes = array();
    221 foreach ( $image_sizes as $image_size_slug ) {
     213foreach ( $image_size_names as $image_size_slug => $image_size_name ) {
    222214    $available_image_sizes[] = array(
    223215        'slug' => $image_size_slug,
    224         'name' => isset( $image_size_names[ $image_size_slug ] ) ? $image_size_names[ $image_size_slug ] : $image_size_slug,
     216        'name' => $image_size_name,
    225217    );
    226218}
     
    261253 * @since 5.0.0
    262254 *
    263  * @param string  $text Placeholder text. Default 'Write your story'.
     255 * @param string  $text Placeholder text. Default 'Start writing or type / to choose a block'.
    264256 * @param WP_Post $post Post object.
    265257 */
    266 $body_placeholder = apply_filters( 'write_your_story', __( 'Write your story' ), $post );
     258$body_placeholder = apply_filters( 'write_your_story', __( 'Start writing or type / to choose a block' ), $post );
    267259
    268260$editor_settings = array(
     
    281273    'allowedMimeTypes'       => get_allowed_mime_types(),
    282274    'styles'                 => $styles,
    283     'availableImageSizes'    => $available_image_sizes,
     275    'imageSizes'             => $available_image_sizes,
    284276    'postLock'               => $lock_details,
    285277    'postLockUtils'          => array(
  • trunk/src/wp-includes/blocks.php

    r44242 r44261  
    115115
    116116/**
    117  * Remove all dynamic blocks from the given content.
    118  *
    119  * @since 5.0.0
    120  *
    121  * @param string $content Content of the current post.
    122  * @return string
    123  */
    124 function strip_dynamic_blocks( $content ) {
    125     return _recurse_strip_dynamic_blocks( parse_blocks( $content ) );
    126 }
    127 
    128 /**
    129  * Helper function for strip_dynamic_blocks(), to recurse through the block tree.
    130  *
    131  * @since 5.0.0
    132  * @access private
    133  *
    134  * @param array $blocks Array of blocks from parse_blocks().
    135  * @return string HTML from the non-dynamic blocks.
    136  */
    137 function _recurse_strip_dynamic_blocks( $blocks ) {
    138     $clean_content  = '';
    139     $dynamic_blocks = get_dynamic_block_names();
    140 
     117 * Parses blocks out of a content string, and renders those appropriate for the excerpt.
     118 *
     119 * As the excerpt should be a small string of text relevant to the full post content,
     120 * this function renders the blocks that are most likely to contain such text.
     121 *
     122 * @since 5.0.0
     123 *
     124 * @param string $content The content to parse.
     125 * @return string The parsed and filtered content.
     126 */
     127function excerpt_remove_blocks( $content ) {
     128    $allowed_blocks = array(
     129        // Classic blocks have their blockName set to null.
     130        null,
     131        'core/columns',
     132        'core/freeform',
     133        'core/heading',
     134        'core/html',
     135        'core/list',
     136        'core/media-text',
     137        'core/paragraph',
     138        'core/preformatted',
     139        'core/pullquote',
     140        'core/quote',
     141        'core/table',
     142        'core/verse',
     143    );
     144    /**
     145     * Filters the list of blocks that can contribute to the excerpt.
     146     *
     147     * If a dynamic block is added to this list, it must not generate another
     148     * excerpt, as this will cause an infinite loop to occur.
     149     *
     150     * @since 4.4.0
     151     *
     152     * @param array $allowed_blocks The list of allowed blocks.
     153     */
     154    $allowed_blocks = apply_filters( 'excerpt_allowed_blocks', $allowed_blocks );
     155    $blocks         = parse_blocks( $content );
     156    $output         = '';
    141157    foreach ( $blocks as $block ) {
    142         if ( ! in_array( $block['blockName'], $dynamic_blocks ) ) {
    143             if ( $block['innerBlocks'] ) {
    144                 $clean_content .= _recurse_strip_dynamic_blocks( $block['innerBlocks'] );
    145             } else {
    146                 $clean_content .= $block['innerHTML'];
    147             }
    148         }
    149     }
    150 
    151     return $clean_content;
     158        if ( in_array( $block['blockName'], $allowed_blocks, true ) ) {
     159            $output .= render_block( $block );
     160        }
     161    }
     162     return $output;
     163}
     164
     165/**
     166 * Renders a single block into a HTML string.
     167 *
     168 * @since 5.0.0
     169 *
     170 * @global WP_Post $post The post to edit.
     171 *
     172 * @param array $block A single parsed block object.
     173 * @return string String of rendered HTML.
     174 */
     175function render_block( $block ) {
     176    global $post;
     177
     178    $block_type    = WP_Block_Type_Registry::get_instance()->get_registered( $block['blockName'] );
     179    $is_dynamic    = $block['blockName'] && null !== $block_type && $block_type->is_dynamic();
     180    $block_content = '';
     181    $index         = 0;
     182
     183    foreach ( $block['innerContent'] as $chunk ) {
     184        $block_content .= is_string( $chunk ) ? $chunk : render_block( $block['innerBlocks'][ $index++ ] );
     185    }
     186
     187    if ( ! is_array( $block['attrs'] ) ) {
     188        $block['attrs'] = array();
     189    }
     190
     191    if ( $is_dynamic ) {
     192        $global_post   = $post;
     193        $block_content = $block_type->render( $block['attrs'], $block_content );
     194        $post          = $global_post;
     195    }
     196
     197    /**
     198     * Filters the content of a single block.
     199     *
     200     * @since 5.0.0
     201     *
     202     * @param string $block_content The block content about to be appended.
     203     * @param array  $block         The full block, including name and attributes.
     204     */
     205    return apply_filters( 'render_block', $block_content, $block );
    152206}
    153207
     
    157211 * @since 5.0.0
    158212 *
    159  * @param  string $content Post content.
    160  * @return array  Array of parsed block objects.
     213 * @param string $content Post content.
     214 * @return array Array of parsed block objects.
    161215 */
    162216function parse_blocks( $content ) {
    163     /*
    164      * If there are no blocks in the content, return a single block, rather
    165      * than wasting time trying to parse the string.
    166      */
    167     if ( ! has_blocks( $content ) ) {
    168         return array(
    169             array(
    170                 'blockName'   => null,
    171                 'attrs'       => array(),
    172                 'innerBlocks' => array(),
    173                 'innerHTML'   => $content,
    174             ),
    175         );
    176     }
    177 
    178217    /**
    179218     * Filter to allow plugins to replace the server-side block parser
     
    207246
    208247    $blocks = parse_blocks( $content );
    209     return _recurse_do_blocks( $blocks, $blocks );
     248    $output = '';
     249
     250    foreach ( $blocks as $block ) {
     251        $output .= render_block( $block );
     252    }
     253
     254    return $output;
    210255}
    211256
     
    232277
    233278/**
    234  * Helper function for do_blocks(), to recurse through the block tree.
    235  *
    236  * @since 5.0.0
    237  * @access private
    238  *
    239  * @param array $blocks     Array of blocks from parse_blocks().
    240  * @param array $all_blocks The top level array of blocks.
    241  * @return string The block HTML.
    242  */
    243 function _recurse_do_blocks( $blocks, $all_blocks ) {
    244     global $post;
    245 
    246     /*
    247      * Back up global post, to restore after render callback.
    248      * Allows callbacks to run new WP_Query instances without breaking the global post.
    249      */
    250     $global_post = $post;
    251 
    252     $rendered_content = '';
    253     $dynamic_blocks   = get_dynamic_block_names();
    254 
    255     foreach ( $blocks as $block ) {
    256         $block = (array) $block;
    257         if ( in_array( $block['blockName'], $dynamic_blocks ) ) {
    258             // Find registered block type. We can assume it exists since we use the
    259             // `get_dynamic_block_names` function as a source for pattern matching.
    260             $block_type = WP_Block_Type_Registry::get_instance()->get_registered( $block['blockName'] );
    261 
    262             // Replace dynamic block with server-rendered output.
    263             $block_content = $block_type->render( (array) $block['attrs'], $block['innerHTML'] );
    264         } elseif ( $block['innerBlocks'] ) {
    265             $block_content = _recurse_do_blocks( $block['innerBlocks'], $blocks );
    266         } else {
    267             $block_content = $block['innerHTML'];
    268         }
    269 
    270         /**
    271          * Filters the content of a single block.
    272          *
    273          * During the_content, each block is parsed and added to the output individually. This filter allows
    274          * that content to be altered immediately before it's appended.
    275          *
    276          * @since 5.0.0
    277          *
    278          * @param string $block_content The block content about to be appended.
    279          * @param array  $block         The full block, including name and attributes.
    280          * @param array  $all_blocks    The array of all blocks being processed.
    281          */
    282         $rendered_content .= apply_filters( 'do_block', $block_content, $block, $all_blocks );
    283 
    284         // Restore global $post.
    285         $post = $global_post;
    286     }
    287 
    288     // Strip remaining block comment demarcations.
    289     $rendered_content = preg_replace( '/<!--\s+\/?wp:.*?-->/m', '', $rendered_content );
    290 
    291     return $rendered_content;
    292 }
    293 
    294 /**
    295279 * Returns the current version of the block format that the content string is using.
    296280 *
  • trunk/src/wp-includes/class-wp-block-parser.php

    r44118 r44261  
    4949    public $innerHTML;
    5050
    51     function __construct( $name, $attrs, $innerBlocks, $innerHTML ) {
    52         $this->blockName   = $name;
    53         $this->attrs       = $attrs;
    54         $this->innerBlocks = $innerBlocks;
    55         $this->innerHTML   = $innerHTML;
     51    /**
     52     * List of string fragments and null markers where inner blocks were found
     53     *
     54     * @example array(
     55     *   'innerHTML'    => 'BeforeInnerAfter',
     56     *   'innerBlocks'  => array( block, block ),
     57     *   'innerContent' => array( 'Before', null, 'Inner', null, 'After' ),
     58     * )
     59     *
     60     * @since 4.2.0
     61     * @var array
     62     */
     63    public $innerContent;
     64
     65    function __construct( $name, $attrs, $innerBlocks, $innerHTML, $innerContent ) {
     66        $this->blockName    = $name;
     67        $this->attrs        = $attrs;
     68        $this->innerBlocks  = $innerBlocks;
     69        $this->innerHTML    = $innerHTML;
     70        $this->innerContent = $innerContent;
    5671    }
    5772}
     
    160175
    161176    /**
     177     * Empty associative array, here due to PHP quirks
     178     *
     179     * @since 4.4.0
     180     * @var array empty associative array
     181     */
     182    public $empty_attrs;
     183
     184    /**
    162185     * Parses a document and returns a list of block structures
    163186     *
     
    172195     */
    173196    function parse( $document ) {
    174         $this->document = $document;
    175         $this->offset   = 0;
    176         $this->output   = array();
    177         $this->stack    = array();
     197        $this->document    = $document;
     198        $this->offset      = 0;
     199        $this->output      = array();
     200        $this->stack       = array();
     201        $this->empty_attrs = json_decode( '{}', true );
    178202
    179203        do {
     
    255279                    }
    256280
    257                     $this->output[] = (array) new WP_Block_Parser_Block( $block_name, $attrs, array(), '' );
     281                    $this->output[] = (array) new WP_Block_Parser_Block( $block_name, $attrs, array(), '', array() );
    258282                    $this->offset   = $start_offset + $token_length;
    259283                    return true;
     
    262286                // otherwise we found an inner block
    263287                $this->add_inner_block(
    264                     new WP_Block_Parser_Block( $block_name, $attrs, array(), '' ),
     288                    new WP_Block_Parser_Block( $block_name, $attrs, array(), '', array() ),
    265289                    $start_offset,
    266290                    $token_length
     
    274298                    $this->stack,
    275299                    new WP_Block_Parser_Frame(
    276                         new WP_Block_Parser_Block( $block_name, $attrs, array(), '' ),
     300                        new WP_Block_Parser_Block( $block_name, $attrs, array(), '', array() ),
    277301                        $start_offset,
    278302                        $token_length,
     
    311335                 * block and add it as a new innerBlock to the parent
    312336                 */
    313                 $stack_top = array_pop( $this->stack );
    314 
    315                 $html = substr( $this->document, $stack_top->prev_offset, $start_offset - $stack_top->prev_offset );
    316                 if ( $stack_top->block->innerBlocks ) {
    317                     $stack_top->block->innerBlocks[] = (array) $this->freeform( $html );
    318                 } else {
    319                     $stack_top->block->innerHTML = $html;
    320                 }
    321 
    322                 $stack_top->prev_offset = $start_offset + $token_length;
     337                $stack_top                        = array_pop( $this->stack );
     338                $html                             = substr( $this->document, $stack_top->prev_offset, $start_offset - $stack_top->prev_offset );
     339                $stack_top->block->innerHTML     .= $html;
     340                $stack_top->block->innerContent[] = $html;
     341                $stack_top->prev_offset           = $start_offset + $token_length;
    323342
    324343                $this->add_inner_block(
     
    360379         */
    361380        $has_match = preg_match(
    362             '/<!--\s+(?<closer>\/)?wp:(?<namespace>[a-z][a-z0-9_-]*\/)?(?<name>[a-z][a-z0-9_-]*)\s+(?<attrs>{(?:(?!}\s+-->).)+?}\s+)?(?<void>\/)?-->/s',
     381            '/<!--\s+(?<closer>\/)?wp:(?<namespace>[a-z][a-z0-9_-]*\/)?(?<name>[a-z][a-z0-9_-]*)\s+(?<attrs>{(?:[^}]+|}+(?=})|(?!}\s+-->).)*?}\s+)?(?<void>\/)?-->/s',
    363382            $this->document,
    364383            $matches,
     
    388407        $attrs = $has_attrs
    389408            ? json_decode( $matches['attrs'][0], /* as-associative */ true )
    390             : json_decode( '{}', /* don't ask why, just verify in PHP */ false );
     409            : $this->empty_attrs;
    391410
    392411        /*
     
    418437     * @return WP_Block_Parser_Block freeform block object
    419438     */
    420     static function freeform( $innerHTML ) {
    421         return new WP_Block_Parser_Block( null, array(), array(), $innerHTML );
     439    function freeform( $innerHTML ) {
     440        return new WP_Block_Parser_Block( null, $this->empty_attrs, array(), $innerHTML, array( $innerHTML ) );
    422441    }
    423442
     
    453472    function add_inner_block( WP_Block_Parser_Block $block, $token_start, $token_length, $last_offset = null ) {
    454473        $parent                       = $this->stack[ count( $this->stack ) - 1 ];
    455         $parent->block->innerBlocks[] = (array) $this->freeform( substr( $this->document, $parent->prev_offset, $token_start - $parent->prev_offset ) );
    456474        $parent->block->innerBlocks[] = (array) $block;
    457         $parent->prev_offset          = $last_offset ? $last_offset : $token_start + $token_length;
     475        $html                         = substr( $this->document, $parent->prev_offset, $token_start - $parent->prev_offset );
     476
     477        if ( ! empty( $html ) ) {
     478            $parent->block->innerHTML     .= $html;
     479            $parent->block->innerContent[] = $html;
     480        }
     481
     482        $parent->block->innerContent[] = null;
     483        $parent->prev_offset           = $last_offset ? $last_offset : $token_start + $token_length;
    458484    }
    459485
     
    473499            : substr( $this->document, $prev_offset );
    474500
    475         if ( $stack_top->block->innerBlocks ) {
    476             $stack_top->block->innerBlocks[] = (array) $this->freeform( $html );
    477         } else {
    478             $stack_top->block->innerHTML = $html;
     501        if ( ! empty( $html ) ) {
     502            $stack_top->block->innerHTML     .= $html;
     503            $stack_top->block->innerContent[] = $html;
    479504        }
    480505
  • trunk/src/wp-includes/formatting.php

    r44226 r44261  
    36363636
    36373637        $text = strip_shortcodes( $text );
    3638         $text = strip_dynamic_blocks( $text );
     3638        $text = excerpt_remove_blocks( $text );
    36393639
    36403640        /** This filter is documented in wp-includes/post-template.php */
  • trunk/src/wp-includes/script-loader.php

    r44260 r44261  
    8686        'wp-polyfill-node-contains',
    8787        'wp-polyfill-element-closest',
    88         'wp-polyfill-ecmascript',
     88        'wp-polyfill',
    8989    );
    9090
     
    100100    }
    101101
    102     $scripts->add( 'wp-polyfill', null, array( 'wp-polyfill-ecmascript' ) );
     102    $scripts->add( 'wp-polyfill', null, array( 'wp-polyfill' ) );
    103103    did_action( 'init' ) && $scripts->add_data(
    104104        'wp-polyfill',
     
    167167        'api-fetch'                          => array( 'wp-polyfill', 'wp-hooks', 'wp-i18n', 'wp-url' ),
    168168        'a11y'                               => array( 'wp-dom-ready', 'wp-polyfill' ),
     169        'annotations'                        => array(
     170            'wp-data',
     171            'wp-hooks',
     172            'wp-i18n',
     173            'wp-polyfill',
     174            'wp-rich-text',
     175        ),
    169176        'autop'                              => array( 'wp-polyfill' ),
    170177        'blob'                               => array( 'wp-polyfill' ),
     
    260267            'wp-core-data',
    261268            'wp-data',
    262             'wp-deprecated',
    263269            'wp-dom-ready',
    264270            'wp-editor',
     
    335341            'wp-a11y',
    336342            'wp-data',
    337             'wp-polyfill-ecmascript',
     343            'wp-polyfill',
    338344        ),
    339345        'nux'                                => array(
  • trunk/tests/phpunit/data/blocks/fixtures/core__4-invalid-starting-letter.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "<!-- wp:core/4-invalid /-->\n"
     6        "innerHTML": "<!-- wp:core/4-invalid /-->\n",
     7        "innerContent": [
     8            "<!-- wp:core/4-invalid /-->\n"
     9        ]
    710    }
    811]
  • trunk/tests/phpunit/data/blocks/fixtures/core__4-invalid-starting-letter.server.html

    r44118 r44261  
    1 
     1<!-- wp:core/4-invalid /-->
  • trunk/tests/phpunit/data/blocks/fixtures/core__archives.parsed.json

    r43751 r44261  
    77        },
    88        "innerBlocks": [],
    9         "innerHTML": ""
     9        "innerHTML": "",
     10        "innerContent": []
    1011    }
    1112]
  • trunk/tests/phpunit/data/blocks/fixtures/core__archives__showPostCounts.parsed.json

    r43751 r44261  
    77        },
    88        "innerBlocks": [],
    9         "innerHTML": ""
     9        "innerHTML": "",
     10        "innerContent": []
    1011    }
    1112]
  • trunk/tests/phpunit/data/blocks/fixtures/core__audio.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<figure class=\"wp-block-audio alignright\">\n    <audio controls=\"\" src=\"https://media.simplecast.com/episodes/audio/80564/draft-podcast-51-livePublish2.mp3\"></audio>\n</figure>\n"
     8        "innerHTML": "\n<figure class=\"wp-block-audio alignright\">\n    <audio controls=\"\" src=\"https://media.simplecast.com/episodes/audio/80564/draft-podcast-51-livePublish2.mp3\"></audio>\n</figure>\n",
     9        "innerContent": [ "\n<figure class=\"wp-block-audio alignright\">\n    <audio controls=\"\" src=\"https://media.simplecast.com/episodes/audio/80564/draft-podcast-51-livePublish2.mp3\"></audio>\n</figure>\n" ]
    910    },
    1011    {
     
    1213        "attrs": {},
    1314        "innerBlocks": [],
    14         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [ "\n" ]
    1517    }
    1618]
  • trunk/tests/phpunit/data/blocks/fixtures/core__block.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": ""
     8        "innerHTML": "",
     9        "innerContent": []
    910    },
    1011    {
     
    1213        "attrs": {},
    1314        "innerBlocks": [],
    14         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [ "\n" ]
    1517    }
    1618]
  • trunk/tests/phpunit/data/blocks/fixtures/core__button__center.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<div class=\"wp-block-button aligncenter\"><a class=\"wp-block-button__link\" href=\"https://github.com/WordPress/gutenberg\">Help build Gutenberg</a></div>\n"
     8        "innerHTML": "\n<div class=\"wp-block-button aligncenter\"><a class=\"wp-block-button__link\" href=\"https://github.com/WordPress/gutenberg\">Help build Gutenberg</a></div>\n",
     9        "innerContent": [ "\n<div class=\"wp-block-button aligncenter\"><a class=\"wp-block-button__link\" href=\"https://github.com/WordPress/gutenberg\">Help build Gutenberg</a></div>\n" ]
    910    },
    1011    {
     
    1213        "attrs": {},
    1314        "innerBlocks": [],
    14         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [ "\n" ]
    1517    }
    1618]
  • trunk/tests/phpunit/data/blocks/fixtures/core__categories.json

    r43751 r44261  
    55        "isValid": true,
    66        "attributes": {
    7             "showPostCounts": false,
    87            "displayAsDropdown": false,
    9             "showHierarchy": false
     8            "showHierarchy": false,
     9            "showPostCounts": false
    1010        },
    1111        "innerBlocks": [],
  • trunk/tests/phpunit/data/blocks/fixtures/core__categories.parsed.json

    r43751 r44261  
    88        },
    99        "innerBlocks": [],
    10         "innerHTML": ""
     10        "innerHTML": "",
     11        "innerContent": []
    1112    },
    1213    {
     
    1415        "attrs": {},
    1516        "innerBlocks": [],
    16         "innerHTML": "\n"
     17        "innerHTML": "\n",
     18        "innerContent": [ "\n" ]
    1719    }
    1820]
  • trunk/tests/phpunit/data/blocks/fixtures/core__code.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<pre class=\"wp-block-code\"><code>export default function MyButton() {\n\treturn &lt;Button&gt;Click Me!&lt;/Button&gt;;\n}</code></pre>\n"
     6        "innerHTML": "\n<pre class=\"wp-block-code\"><code>export default function MyButton() {\n\treturn &lt;Button&gt;Click Me!&lt;/Button&gt;;\n}</code></pre>\n",
     7        "innerContent": [ "\n<pre class=\"wp-block-code\"><code>export default function MyButton() {\n\treturn &lt;Button&gt;Click Me!&lt;/Button&gt;;\n}</code></pre>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__column.parsed.json

    r44118 r44261  
    44        "attrs": {},
    55        "innerBlocks": [
    6             {
    7                 "blockName": null,
    8                 "attrs": {},
    9                 "innerBlocks": [],
    10                 "innerHTML": "\n<div class=\"wp-block-column\">\n\t"
    11             },
    126            {
    137                "blockName": "core/paragraph",
    148                "attrs": {},
    159                "innerBlocks": [],
    16                 "innerHTML": "\n\t<p>Column One, Paragraph One</p>\n\t"
     10                "innerHTML": "\n\t<p>Column One, Paragraph One</p>\n\t",
     11                "innerContent": [ "\n\t<p>Column One, Paragraph One</p>\n\t" ]
    1712            },
    18             {
    19                 "blockName": null,
    20                 "attrs": {},
    21                 "innerBlocks": [],
    22                 "innerHTML": "\n\t"
    23             },
    2413            {
    2514                "blockName": "core/paragraph",
    2615                "attrs": {},
    2716                "innerBlocks": [],
    28                 "innerHTML": "\n\t<p>Column One, Paragraph Two</p>\n\t"
    29             },
    30             {
    31                 "blockName": null,
    32                 "attrs": {},
    33                 "innerBlocks": [],
    34                 "innerHTML": "\n</div>\n"
    35             }
    36         ],
    37         "innerHTML": ""
     17                "innerHTML": "\n\t<p>Column One, Paragraph Two</p>\n\t",
     18                "innerContent": [ "\n\t<p>Column One, Paragraph Two</p>\n\t" ]
     19            }
     20        ],
     21        "innerHTML": "\n<div class=\"wp-block-column\">\n\t\n\t\n</div>\n",
     22        "innerContent": [ "\n<div class=\"wp-block-column\">\n\t", null, "\n\t", null, "\n</div>\n" ]
    3823    },
    3924    {
     
    4126        "attrs": {},
    4227        "innerBlocks": [],
    43         "innerHTML": "\n"
     28        "innerHTML": "\n",
     29        "innerContent": [ "\n" ]
    4430    }
    4531]
  • trunk/tests/phpunit/data/blocks/fixtures/core__columns.parsed.json

    r44118 r44261  
    66        },
    77        "innerBlocks": [
    8             {
    9                 "blockName": null,
    10                 "attrs": {},
    11                 "innerBlocks": [],
    12                 "innerHTML": "\n<div class=\"wp-block-columns has-3-columns\">\n\t"
    13             },
    148            {
    159                "blockName": "core/column",
    1610                "attrs": {},
    1711                "innerBlocks": [
    18                     {
    19                         "blockName": null,
    20                         "attrs": {},
    21                         "innerBlocks": [],
    22                         "innerHTML": "\n\t<div class=\"wp-block-column\">\n\t\t"
    23                     },
    24                     {
     12                    {
    2513                        "blockName": "core/paragraph",
    2614                        "attrs": {},
    2715                        "innerBlocks": [],
    28                         "innerHTML": "\n\t\t<p>Column One, Paragraph One</p>\n\t\t"
     16                        "innerHTML": "\n\t\t<p>Column One, Paragraph One</p>\n\t\t",
     17                        "innerContent": [
     18                            "\n\t\t<p>Column One, Paragraph One</p>\n\t\t"
     19                        ]
    2920                    },
    30                     {
    31                         "blockName": null,
    32                         "attrs": {},
    33                         "innerBlocks": [],
    34                         "innerHTML": "\n\t\t"
    35                     },
    36                     {
     21                    {
    3722                        "blockName": "core/paragraph",
    3823                        "attrs": {},
    3924                        "innerBlocks": [],
    40                         "innerHTML": "\n\t\t<p>Column One, Paragraph Two</p>\n\t\t"
    41                     },
    42                     {
    43                         "blockName": null,
    44                         "attrs": {},
    45                         "innerBlocks": [],
    46                         "innerHTML": "\n\t</div>\n\t"
    47                     }
     25                        "innerHTML": "\n\t\t<p>Column One, Paragraph Two</p>\n\t\t",
     26                        "innerContent": [
     27                            "\n\t\t<p>Column One, Paragraph Two</p>\n\t\t"
     28                        ]
     29                    }
    4830                ],
    49                 "innerHTML": ""
     31                "innerHTML": "\n\t<div class=\"wp-block-column\">\n\t\t\n\t\t\n\t</div>\n\t",
     32                "innerContent": [
     33                    "\n\t<div class=\"wp-block-column\">\n\t\t",
     34                    null,
     35                    "\n\t\t",
     36                    null,
     37                    "\n\t</div>\n\t"
     38                ]
    5039            },
    51             {
    52                 "blockName": null,
    53                 "attrs": {},
    54                 "innerBlocks": [],
    55                 "innerHTML": "\n\t"
    56             },
    5740            {
    5841                "blockName": "core/column",
    5942                "attrs": {},
    60                 "innerBlocks": [
    61                     {
    62                         "blockName": null,
    63                         "attrs": {},
    64                         "innerBlocks": [],
    65                         "innerHTML": "\n\t<div class=\"wp-block-column\">\n\t\t"
    66                     },
    67                     {
     43                "innerBlocks": [
     44                    {
    6845                        "blockName": "core/paragraph",
    6946                        "attrs": {},
    7047                        "innerBlocks": [],
    71                         "innerHTML": "\n\t\t<p>Column Two, Paragraph One</p>\n\t\t"
     48                        "innerHTML": "\n\t\t<p>Column Two, Paragraph One</p>\n\t\t",
     49                        "innerContent": [
     50                            "\n\t\t<p>Column Two, Paragraph One</p>\n\t\t"
     51                        ]
    7252                    },
    73                     {
    74                         "blockName": null,
    75                         "attrs": {},
    76                         "innerBlocks": [],
    77                         "innerHTML": "\n\t\t"
    78                     },
    79                     {
     53                    {
    8054                        "blockName": "core/paragraph",
    8155                        "attrs": {},
    8256                        "innerBlocks": [],
    83                         "innerHTML": "\n\t\t<p>Column Three, Paragraph One</p>\n\t\t"
    84                     },
    85                     {
    86                         "blockName": null,
    87                         "attrs": {},
    88                         "innerBlocks": [],
    89                         "innerHTML": "\n\t</div>\n\t"
    90                     }
     57                        "innerHTML": "\n\t\t<p>Column Three, Paragraph One</p>\n\t\t",
     58                        "innerContent": [
     59                            "\n\t\t<p>Column Three, Paragraph One</p>\n\t\t"
     60                        ]
     61                    }
    9162                ],
    92                 "innerHTML": ""
    93             },
    94             {
    95                 "blockName": null,
    96                 "attrs": {},
    97                 "innerBlocks": [],
    98                 "innerHTML": "\n</div>\n"
    99             }
     63                "innerHTML": "\n\t<div class=\"wp-block-column\">\n\t\t\n\t\t\n\t</div>\n\t",
     64                "innerContent": [
     65                    "\n\t<div class=\"wp-block-column\">\n\t\t",
     66                    null,
     67                    "\n\t\t",
     68                    null,
     69                    "\n\t</div>\n\t"
     70                ]
     71            }
    10072        ],
    101         "innerHTML": ""
     73        "innerHTML": "\n<div class=\"wp-block-columns has-3-columns\">\n\t\n\t\n</div>\n",
     74        "innerContent": [
     75            "\n<div class=\"wp-block-columns has-3-columns\">\n\t",
     76            null,
     77            "\n\t",
     78            null,
     79            "\n</div>\n"
     80        ]
    10281    },
    10382    {
     
    10584        "attrs": {},
    10685        "innerBlocks": [],
    107         "innerHTML": "\n"
     86        "innerHTML": "\n",
     87        "innerContent": [
     88            "\n"
     89        ]
    10890    }
    10991]
  • trunk/tests/phpunit/data/blocks/fixtures/core__cover-image.parsed.json

    r43751 r44261  
    77        },
    88        "innerBlocks": [],
    9         "innerHTML": "\n<div class=\"wp-block-cover-image has-background-dim-40 has-background-dim\" style=\"background-image:url(https://cldup.com/uuUqE_dXzy.jpg)\">\n    <p class=\"wp-block-cover-image-text\">Guten Berg!</p>\n</div>\n"
     9        "innerHTML": "\n<div class=\"wp-block-cover-image has-background-dim-40 has-background-dim\" style=\"background-image:url(https://cldup.com/uuUqE_dXzy.jpg)\">\n    <p class=\"wp-block-cover-image-text\">Guten Berg!</p>\n</div>\n",
     10        "innerContent": [
     11            "\n<div class=\"wp-block-cover-image has-background-dim-40 has-background-dim\" style=\"background-image:url(https://cldup.com/uuUqE_dXzy.jpg)\">\n    <p class=\"wp-block-cover-image-text\">Guten Berg!</p>\n</div>\n"
     12        ]
    1013    },
    1114    {
     
    1316        "attrs": {},
    1417        "innerBlocks": [],
    15         "innerHTML": "\n"
     18        "innerHTML": "\n",
     19        "innerContent": [
     20            "\n"
     21        ]
    1622    }
    1723]
  • trunk/tests/phpunit/data/blocks/fixtures/core__embed.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<figure class=\"wp-block-embed\">\n    <div class=\"wp-block-embed__wrapper\">\n        https://example.com/\n    </div>\n    <figcaption>Embedded content from an example URL</figcaption>\n</figure>\n"
     8        "innerHTML": "\n<figure class=\"wp-block-embed\">\n    <div class=\"wp-block-embed__wrapper\">\n        https://example.com/\n    </div>\n    <figcaption>Embedded content from an example URL</figcaption>\n</figure>\n",
     9        "innerContent": [
     10            "\n<figure class=\"wp-block-embed\">\n    <div class=\"wp-block-embed__wrapper\">\n        https://example.com/\n    </div>\n    <figcaption>Embedded content from an example URL</figcaption>\n</figure>\n"
     11        ]
    912    },
    1013    {
     
    1215        "attrs": {},
    1316        "innerBlocks": [],
    14         "innerHTML": "\n"
     17        "innerHTML": "\n",
     18        "innerContent": [
     19            "\n"
     20        ]
    1521    }
    1622]
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__new-window.html

    r43751 r44261  
    11<!-- wp:file {"href":"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js","showDownloadButton":true,"id":176} -->
    2 <div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" target="_blank" rel="noreferrer noopener">6546</a><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download="6546">Download</a></div>
     2<div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" target="_blank" rel="noreferrer noopener">6546</a><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download>Download</a></div>
    33<!-- /wp:file -->
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__new-window.json

    r43751 r44261  
    1414        },
    1515        "innerBlocks": [],
    16         "originalContent": "<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" target=\"_blank\" rel=\"noreferrer noopener\">6546</a><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download=\"6546\">Download</a></div>"
     16        "originalContent": "<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" target=\"_blank\" rel=\"noreferrer noopener\">6546</a><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download>Download</a></div>"
    1717    }
    1818]
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__new-window.parsed.json

    r43751 r44261  
    88        },
    99        "innerBlocks": [],
    10         "innerHTML": "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" target=\"_blank\" rel=\"noreferrer noopener\">6546</a><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download=\"6546\">Download</a></div>\n"
     10        "innerHTML": "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" target=\"_blank\" rel=\"noreferrer noopener\">6546</a><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download>Download</a></div>\n",
     11        "innerContent": [
     12            "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" target=\"_blank\" rel=\"noreferrer noopener\">6546</a><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download>Download</a></div>\n"
     13        ]
    1114    },
    1215    {
     
    1417        "attrs": {},
    1518        "innerBlocks": [],
    16         "innerHTML": "\n"
     19        "innerHTML": "\n",
     20        "innerContent": [
     21            "\n"
     22        ]
    1723    }
    1824]
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__new-window.serialized.html

    r43751 r44261  
    11<!-- wp:file {"id":176,"href":"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js"} -->
    2 <div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" target="_blank" rel="noreferrer noopener">6546</a><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download="6546">Download</a></div>
     2<div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" target="_blank" rel="noreferrer noopener">6546</a><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download>Download</a></div>
    33<!-- /wp:file -->
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__new-window.server.html

    r44118 r44261  
    11
    2 <div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" target="_blank" rel="noreferrer noopener">6546</a><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download="6546">Download</a></div>
     2<div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" target="_blank" rel="noreferrer noopener">6546</a><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download>Download</a></div>
    33
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__no-download-button.parsed.json

    r43751 r44261  
    88        },
    99        "innerBlocks": [],
    10         "innerHTML": "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/?attachment_id=176\">lkjfijwef</a></div>\n"
     10        "innerHTML": "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/?attachment_id=176\">lkjfijwef</a></div>\n",
     11        "innerContent": [
     12            "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/?attachment_id=176\">lkjfijwef</a></div>\n"
     13        ]
    1114    },
    1215    {
     
    1417        "attrs": {},
    1518        "innerBlocks": [],
    16         "innerHTML": "\n"
     19        "innerHTML": "\n",
     20        "innerContent": [
     21            "\n"
     22        ]
    1723    }
    1824]
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__no-text-link.html

    r43751 r44261  
    11<!-- wp:file {"href":"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js","showDownloadButton":true,"id":176} -->
    2 <div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download="">Download</a></div>
     2<div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download>Download</a></div>
    33<!-- /wp:file -->
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__no-text-link.json

    r43751 r44261  
    1212        },
    1313        "innerBlocks": [],
    14         "originalContent": "<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download=\"\">Download</a></div>"
     14        "originalContent": "<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download>Download</a></div>"
    1515    }
    1616]
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__no-text-link.parsed.json

    r43751 r44261  
    88        },
    99        "innerBlocks": [],
    10         "innerHTML": "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download=\"\">Download</a></div>\n"
     10        "innerHTML": "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download>Download</a></div>\n",
     11        "innerContent": [
     12            "\n<div class=\"wp-block-file\"><a href=\"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js\" class=\"wp-block-file__button\" download>Download</a></div>\n"
     13        ]
    1114    },
    1215    {
     
    1417        "attrs": {},
    1518        "innerBlocks": [],
    16         "innerHTML": "\n"
     19        "innerHTML": "\n",
     20        "innerContent": [
     21            "\n"
     22        ]
    1723    }
    1824]
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__no-text-link.serialized.html

    r43751 r44261  
    11<!-- wp:file {"id":176,"href":"http://localhost:8888/wp-content/uploads/2018/05/keycodes.js"} -->
    2 <div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download="">Download</a></div>
     2<div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download>Download</a></div>
    33<!-- /wp:file -->
  • trunk/tests/phpunit/data/blocks/fixtures/core__file__no-text-link.server.html

    r44118 r44261  
    11
    2 <div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download="">Download</a></div>
     2<div class="wp-block-file"><a href="http://localhost:8888/wp-content/uploads/2018/05/keycodes.js" class="wp-block-file__button" download>Download</a></div>
    33
  • trunk/tests/phpunit/data/blocks/fixtures/core__freeform.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\nTesting freeform block with some\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n"
     6        "innerHTML": "\nTesting freeform block with some\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n",
     7        "innerContent": [
     8            "\nTesting freeform block with some\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n"
     9        ]
    710    },
    811    {
     
    1013        "attrs": {},
    1114        "innerBlocks": [],
    12         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [
     17            "\n"
     18        ]
    1319    }
    1420]
  • trunk/tests/phpunit/data/blocks/fixtures/core__freeform__undelimited.parsed.json

    r43751 r44261  
    11[
    22    {
     3        "blockName": null,
    34        "attrs": {},
    4         "blockName": null,
    55        "innerBlocks": [],
    6         "innerHTML": "Testing freeform block with some\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n"
     6        "innerHTML": "Testing freeform block with some\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n",
     7        "innerContent": [
     8            "Testing freeform block with some\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n"
     9        ]
    710    }
    811]
  • trunk/tests/phpunit/data/blocks/fixtures/core__gallery.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<ul class=\"wp-block-gallery columns-2 is-cropped\">\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"http://google.com/hi.png\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n</ul>\n"
     6        "innerHTML": "\n<ul class=\"wp-block-gallery columns-2 is-cropped\">\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"http://google.com/hi.png\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n</ul>\n",
     7        "innerContent": [
     8            "\n<ul class=\"wp-block-gallery columns-2 is-cropped\">\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"http://google.com/hi.png\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n</ul>\n"
     9        ]
    710    },
    811    {
     
    1013        "attrs": {},
    1114        "innerBlocks": [],
    12         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [
     17            "\n"
     18        ]
    1319    }
    1420]
  • trunk/tests/phpunit/data/blocks/fixtures/core__gallery__columns.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<ul class=\"wp-block-gallery columns-1 is-cropped\">\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"http://google.com/hi.png\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n</ul>\n"
     8        "innerHTML": "\n<ul class=\"wp-block-gallery columns-1 is-cropped\">\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"http://google.com/hi.png\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n</ul>\n",
     9        "innerContent": [
     10            "\n<ul class=\"wp-block-gallery columns-1 is-cropped\">\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n\t<li class=\"blocks-gallery-item\">\n\t\t<figure>\n\t\t\t<img src=\"http://google.com/hi.png\" alt=\"title\" />\n\t\t</figure>\n\t</li>\n</ul>\n"
     11        ]
    912    },
    1013    {
     
    1215        "attrs": {},
    1316        "innerBlocks": [],
    14         "innerHTML": "\n"
     17        "innerHTML": "\n",
     18        "innerContent": [
     19            "\n"
     20        ]
    1521    }
    1622]
  • trunk/tests/phpunit/data/blocks/fixtures/core__heading__h2-em.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<h2>The <em>Inserter</em> Tool</h2>\n"
     6        "innerHTML": "\n<h2>The <em>Inserter</em> Tool</h2>\n",
     7        "innerContent": [
     8            "\n<h2>The <em>Inserter</em> Tool</h2>\n"
     9        ]
    710    },
    811    {
     
    1013        "attrs": {},
    1114        "innerBlocks": [],
    12         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [
     17            "\n"
     18        ]
    1319    }
    1420]
  • trunk/tests/phpunit/data/blocks/fixtures/core__heading__h2.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<h2>A picture is worth a thousand words, or so the saying goes</h2>\n"
     6        "innerHTML": "\n<h2>A picture is worth a thousand words, or so the saying goes</h2>\n",
     7        "innerContent": [
     8            "\n<h2>A picture is worth a thousand words, or so the saying goes</h2>\n"
     9        ]
    710    },
    811    {
     
    1013        "attrs": {},
    1114        "innerBlocks": [],
    12         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [
     17            "\n"
     18        ]
    1319    }
    1420]
  • trunk/tests/phpunit/data/blocks/fixtures/core__html.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<h1>Some HTML code</h1>\n<marquee>This text will scroll from right to left</marquee>\n"
     6        "innerHTML": "\n<h1>Some HTML code</h1>\n<marquee>This text will scroll from right to left</marquee>\n",
     7        "innerContent": [
     8            "\n<h1>Some HTML code</h1>\n<marquee>This text will scroll from right to left</marquee>\n"
     9        ]
    710    },
    811    {
     
    1013        "attrs": {},
    1114        "innerBlocks": [],
    12         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [
     17            "\n"
     18        ]
    1319    }
    1420]
  • trunk/tests/phpunit/data/blocks/fixtures/core__image.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<figure class=\"wp-block-image\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></figure>\n"
     6        "innerHTML": "\n<figure class=\"wp-block-image\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></figure>\n",
     7        "innerContent": [
     8            "\n<figure class=\"wp-block-image\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></figure>\n"
     9        ]
    710    },
    811    {
     
    1013        "attrs": {},
    1114        "innerBlocks": [],
    12         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [
     17            "\n"
     18        ]
    1319    }
    1420]
  • trunk/tests/phpunit/data/blocks/fixtures/core__image__attachment-link.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<figure class=\"wp-block-image\"><a href=\"http://localhost:8888/?attachment_id=7\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n"
     8        "innerHTML": "\n<figure class=\"wp-block-image\"><a href=\"http://localhost:8888/?attachment_id=7\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n",
     9        "innerContent": [
     10            "\n<figure class=\"wp-block-image\"><a href=\"http://localhost:8888/?attachment_id=7\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n"
     11        ]
    912    },
    1013    {
     
    1215        "attrs": {},
    1316        "innerBlocks": [],
    14         "innerHTML": "\n"
     17        "innerHTML": "\n",
     18        "innerContent": [
     19            "\n"
     20        ]
    1521    }
    1622]
  • trunk/tests/phpunit/data/blocks/fixtures/core__image__center-caption.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img src=\"https://cldup.com/YLYhpou2oq.jpg\" alt=\"\" /><figcaption>Give it a try. Press the &quot;really wide&quot; button on the image toolbar.</figcaption></figure></div>\n"
     8        "innerHTML": "\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img src=\"https://cldup.com/YLYhpou2oq.jpg\" alt=\"\" /><figcaption>Give it a try. Press the &quot;really wide&quot; button on the image toolbar.</figcaption></figure></div>\n",
     9        "innerContent": [
     10            "\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img src=\"https://cldup.com/YLYhpou2oq.jpg\" alt=\"\" /><figcaption>Give it a try. Press the &quot;really wide&quot; button on the image toolbar.</figcaption></figure></div>\n"
     11        ]
    912    },
    1013    {
     
    1215        "attrs": {},
    1316        "innerBlocks": [],
    14         "innerHTML": "\n"
     17        "innerHTML": "\n",
     18        "innerContent": [
     19            "\n"
     20        ]
    1521    }
    1622]
  • trunk/tests/phpunit/data/blocks/fixtures/core__image__custom-link.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<figure class=\"wp-block-image\"><a href=\"https://wordpress.org/\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n"
     8        "innerHTML": "\n<figure class=\"wp-block-image\"><a href=\"https://wordpress.org/\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n",
     9        "innerContent": [
     10            "\n<figure class=\"wp-block-image\"><a href=\"https://wordpress.org/\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n"
     11        ]
    912    },
    1013    {
     
    1215        "attrs": {},
    1316        "innerBlocks": [],
    14         "innerHTML": "\n"
     17        "innerHTML": "\n",
     18        "innerContent": [
     19            "\n"
     20        ]
    1521    }
    1622]
  • trunk/tests/phpunit/data/blocks/fixtures/core__image__media-link.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<figure class=\"wp-block-image\"><a href=\"https://cldup.com/uuUqE_dXzy.jpg\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n"
     8        "innerHTML": "\n<figure class=\"wp-block-image\"><a href=\"https://cldup.com/uuUqE_dXzy.jpg\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n",
     9        "innerContent": [
     10            "\n<figure class=\"wp-block-image\"><a href=\"https://cldup.com/uuUqE_dXzy.jpg\"><img src=\"https://cldup.com/uuUqE_dXzy.jpg\" alt=\"\" /></a></figure>\n"
     11        ]
    912    },
    1013    {
     
    1215        "attrs": {},
    1316        "innerBlocks": [],
    14         "innerHTML": "\n"
     17        "innerHTML": "\n",
     18        "innerContent": [
     19            "\n"
     20        ]
    1521    }
    1622]
  • trunk/tests/phpunit/data/blocks/fixtures/core__invalid-Capitals.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "<!-- wp:core/invalid-Capitals /-->\n"
     6        "innerHTML": "<!-- wp:core/invalid-Capitals /-->\n",
     7        "innerContent": [
     8            "<!-- wp:core/invalid-Capitals /-->\n"
     9        ]
    710    }
    811]
  • trunk/tests/phpunit/data/blocks/fixtures/core__invalid-Capitals.server.html

    r44118 r44261  
    1 
     1<!-- wp:core/invalid-Capitals /-->
  • trunk/tests/phpunit/data/blocks/fixtures/core__invalid-special.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "<!-- wp:core/invalid-$special /-->\n"
     6        "innerHTML": "<!-- wp:core/invalid-$special /-->\n",
     7        "innerContent": [
     8            "<!-- wp:core/invalid-$special /-->\n"
     9        ]
    710    }
    811]
  • trunk/tests/phpunit/data/blocks/fixtures/core__invalid-special.server.html

    r44118 r44261  
    1 
     1<!-- wp:core/invalid-$special /-->
  • trunk/tests/phpunit/data/blocks/fixtures/core__latest-comments.parsed.json

    r43751 r44261  
    88        },
    99        "innerBlocks": [],
    10         "innerHTML": ""
     10        "innerHTML": "",
     11        "innerContent": []
    1112    },
    1213    {
     
    1415        "attrs": {},
    1516        "innerBlocks": [],
    16         "innerHTML": "\n"
     17        "innerHTML": "\n",
     18        "innerContent": [
     19            "\n"
     20        ]
    1721    }
    1822]
  • trunk/tests/phpunit/data/blocks/fixtures/core__latest-posts.parsed.json

    r43751 r44261  
    77        },
    88        "innerBlocks": [],
    9         "innerHTML": ""
     9        "innerHTML": "",
     10        "innerContent": []
    1011    },
    1112    {
     
    1314        "attrs": {},
    1415        "innerBlocks": [],
    15         "innerHTML": "\n"
     16        "innerHTML": "\n",
     17        "innerContent": [
     18            "\n"
     19        ]
    1620    }
    1721]
  • trunk/tests/phpunit/data/blocks/fixtures/core__latest-posts__displayPostDate.parsed.json

    r43751 r44261  
    77        },
    88        "innerBlocks": [],
    9         "innerHTML": ""
     9        "innerHTML": "",
     10        "innerContent": []
    1011    },
    1112    {
     
    1314        "attrs": {},
    1415        "innerBlocks": [],
    15         "innerHTML": "\n"
     16        "innerHTML": "\n",
     17        "innerContent": [
     18            "\n"
     19        ]
    1620    }
    1721]
  • trunk/tests/phpunit/data/blocks/fixtures/core__list__ul.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<ul><li>Text & Headings</li><li>Images & Videos</li><li>Galleries</li><li>Embeds, like YouTube, Tweets, or other WordPress posts.</li><li>Layout blocks, like Buttons, Hero Images, Separators, etc.</li><li>And <em>Lists</em> like this one of course :)</li></ul>\n"
     6        "innerHTML": "\n<ul><li>Text & Headings</li><li>Images & Videos</li><li>Galleries</li><li>Embeds, like YouTube, Tweets, or other WordPress posts.</li><li>Layout blocks, like Buttons, Hero Images, Separators, etc.</li><li>And <em>Lists</em> like this one of course :)</li></ul>\n",
     7        "innerContent": [
     8            "\n<ul><li>Text & Headings</li><li>Images & Videos</li><li>Galleries</li><li>Embeds, like YouTube, Tweets, or other WordPress posts.</li><li>Layout blocks, like Buttons, Hero Images, Separators, etc.</li><li>And <em>Lists</em> like this one of course :)</li></ul>\n"
     9        ]
    710    },
    811    {
     
    1013        "attrs": {},
    1114        "innerBlocks": [],
    12         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [
     17            "\n"
     18        ]
    1319    }
    1420]
  • trunk/tests/phpunit/data/blocks/fixtures/core__missing.json

    r43751 r44261  
    55        "isValid": true,
    66        "attributes": {
    7             "originalContent": "<!-- wp:unregistered/example {\"attr1\":\"One\",\"attr2\":\"Two\"} -->\n<p>Testing missing block with some</p>\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n<!-- /wp:unregistered/example -->",
    8             "originalName": "unregistered/example",
    9             "originalUndelimitedContent": "<p>Testing missing block with some</p>\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>"
     7            "originalName": "unregistered/example",
     8            "originalUndelimitedContent": "<p>Testing missing block with some</p>\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>",
     9            "originalContent": "<!-- wp:unregistered/example {\"attr1\":\"One\",\"attr2\":\"Two\"} -->\n<p>Testing missing block with some</p>\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n<!-- /wp:unregistered/example -->"
    1010        },
    1111        "innerBlocks": [],
  • trunk/tests/phpunit/data/blocks/fixtures/core__missing.parsed.json

    r43751 r44261  
    33        "blockName": "unregistered/example",
    44        "attrs": {
    5             "attr1": "One",
    6             "attr2": "Two"
    7         },
     5            "attr1": "One",
     6            "attr2": "Two"
     7        },
    88        "innerBlocks": [],
    9         "innerHTML": "\n<p>Testing missing block with some</p>\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n"
     9        "innerHTML": "\n<p>Testing missing block with some</p>\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n",
     10        "innerContent": [ "\n<p>Testing missing block with some</p>\n<div class=\"wp-some-class\">\n\tHTML <span style=\"color: red;\">content</span>\n</div>\n" ]
    1011    },
    1112    {
    12         "blockName": null,
    13         "attrs": {},
    14         "innerBlocks": [],
    15         "innerHTML": "\n"
     13        "blockName": null,
     14        "attrs": {},
     15        "innerBlocks": [],
     16        "innerHTML": "\n",
     17        "innerContent": [ "\n" ]
    1618    }
    1719]
  • trunk/tests/phpunit/data/blocks/fixtures/core__more.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<!--more-->\n"
     6        "innerHTML": "\n<!--more-->\n",
     7        "innerContent": [ "\n<!--more-->\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__more__custom-text-teaser.parsed.json

    r43751 r44261  
    77        },
    88        "innerBlocks": [],
    9         "innerHTML": "\n<!--more Continue Reading-->\n<!--noteaser-->\n"
     9        "innerHTML": "\n<!--more Continue Reading-->\n<!--noteaser-->\n",
     10        "innerContent": [ "\n<!--more Continue Reading-->\n<!--noteaser-->\n" ]
    1011    },
    1112    {
     
    1314        "attrs": {},
    1415        "innerBlocks": [],
    15         "innerHTML": "\n"
     16        "innerHTML": "\n",
     17        "innerContent": [ "\n" ]
    1618    }
    1719]
  • trunk/tests/phpunit/data/blocks/fixtures/core__nextpage.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<!--nextpage-->\n"
     6        "innerHTML": "\n<!--nextpage-->\n",
     7        "innerContent": [ "\n<!--nextpage-->\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__paragraph__align-right.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<p style=\"text-align:right;\">... like this one, which is separate from the above and right aligned.</p>\n"
     8        "innerHTML": "\n<p style=\"text-align:right;\">... like this one, which is separate from the above and right aligned.</p>\n",
     9        "innerContent": [ "\n<p style=\"text-align:right;\">... like this one, which is separate from the above and right aligned.</p>\n" ]
    910    },
    1011    {
     
    1213        "attrs": {},
    1314        "innerBlocks": [],
    14         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [ "\n" ]
    1517    }
    1618]
  • trunk/tests/phpunit/data/blocks/fixtures/core__paragraph__deprecated.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\nUnwrapped is <em>still</em> valid.\n"
     6        "innerHTML": "\nUnwrapped is <em>still</em> valid.\n",
     7        "innerContent": [ "\nUnwrapped is <em>still</em> valid.\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__preformatted.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<pre class=\"wp-block-preformatted\">Some <em>preformatted</em> text...<br>And more!</pre>\n"
     6        "innerHTML": "\n<pre class=\"wp-block-preformatted\">Some <em>preformatted</em> text...<br>And more!</pre>\n",
     7        "innerContent": [ "\n<pre class=\"wp-block-preformatted\">Some <em>preformatted</em> text...<br>And more!</pre>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__pullquote.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<figure class=\"wp-block-pullquote\">\n    <blockquote>\n    <p>Testing pullquote block...</p><cite>...with a caption</cite>\n    </blockquote>\n</figure>\n"
     6        "innerHTML": "\n<figure class=\"wp-block-pullquote\">\n    <blockquote>\n    <p>Testing pullquote block...</p><cite>...with a caption</cite>\n    </blockquote>\n</figure>\n",
     7        "innerContent": [ "\n<figure class=\"wp-block-pullquote\">\n    <blockquote>\n    <p>Testing pullquote block...</p><cite>...with a caption</cite>\n    </blockquote>\n</figure>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__pullquote__multi-paragraph.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<figure class=\"wp-block-pullquote\">\n    <blockquote>\n        <p>Paragraph <strong>one</strong></p>\n        <p>Paragraph two</p>\n        <cite>by whomever</cite>\n\t</blockquote>\n</figure>\n"
     6        "innerHTML": "\n<figure class=\"wp-block-pullquote\">\n    <blockquote>\n        <p>Paragraph <strong>one</strong></p>\n        <p>Paragraph two</p>\n        <cite>by whomever</cite>\n\t</blockquote>\n</figure>\n",
     7        "innerContent": [ "\n<figure class=\"wp-block-pullquote\">\n    <blockquote>\n        <p>Paragraph <strong>one</strong></p>\n        <p>Paragraph two</p>\n        <cite>by whomever</cite>\n\t</blockquote>\n</figure>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__quote__style-1.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<blockquote class=\"wp-block-quote\"><p>The editor will endeavour to create a new page and post building experience that makes writing rich posts effortless, and has “blocks” to make it easy what today might take shortcodes, custom HTML, or “mystery meat” embed discovery.</p><cite>Matt Mullenweg, 2017</cite></blockquote>\n"
     6        "innerHTML": "\n<blockquote class=\"wp-block-quote\"><p>The editor will endeavour to create a new page and post building experience that makes writing rich posts effortless, and has “blocks” to make it easy what today might take shortcodes, custom HTML, or “mystery meat” embed discovery.</p><cite>Matt Mullenweg, 2017</cite></blockquote>\n",
     7        "innerContent": [ "\n<blockquote class=\"wp-block-quote\"><p>The editor will endeavour to create a new page and post building experience that makes writing rich posts effortless, and has “blocks” to make it easy what today might take shortcodes, custom HTML, or “mystery meat” embed discovery.</p><cite>Matt Mullenweg, 2017</cite></blockquote>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__quote__style-2.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<blockquote class=\"wp-block-quote is-style-large\"><p>There is no greater agony than bearing an untold story inside you.</p><cite>Maya Angelou</cite></blockquote>\n"
     8        "innerHTML": "\n<blockquote class=\"wp-block-quote is-style-large\"><p>There is no greater agony than bearing an untold story inside you.</p><cite>Maya Angelou</cite></blockquote>\n",
     9        "innerContent": [ "\n<blockquote class=\"wp-block-quote is-style-large\"><p>There is no greater agony than bearing an untold story inside you.</p><cite>Maya Angelou</cite></blockquote>\n" ]
    910    },
    1011    {
     
    1213        "attrs": {},
    1314        "innerBlocks": [],
    14         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [ "\n" ]
    1517    }
    1618]
  • trunk/tests/phpunit/data/blocks/fixtures/core__separator.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<hr class=\"wp-block-separator\" />\n"
     6        "innerHTML": "\n<hr class=\"wp-block-separator\" />\n",
     7        "innerContent": [ "\n<hr class=\"wp-block-separator\" />\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__shortcode.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n[gallery ids=\"238,338\"]\n"
     6        "innerHTML": "\n[gallery ids=\"238,338\"]\n",
     7        "innerContent": [ "\n[gallery ids=\"238,338\"]\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__spacer.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"></div>\n"
     6        "innerHTML": "\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"></div>\n",
     7        "innerContent": [ "\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"></div>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__subhead.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<p class=\"wp-block-subhead\">This is a <em>subhead</em>.</p>\n"
     6        "innerHTML": "\n<p class=\"wp-block-subhead\">This is a <em>subhead</em>.</p>\n",
     7        "innerContent": [ "\n<p class=\"wp-block-subhead\">This is a <em>subhead</em>.</p>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__table.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<table class=\"wp-block-table\"><thead><tr><th>Version</th><th>Musician</th><th>Date</th></tr></thead><tbody><tr><td><a href=\"https://wordpress.org/news/2003/05/wordpress-now-available/\">.70</a></td><td>No musician chosen.</td><td>May 27, 2003</td></tr><tr><td><a href=\"https://wordpress.org/news/2004/01/wordpress-10/\">1.0</a></td><td>Miles Davis</td><td>January 3, 2004</td></tr><tr><td>Lots of versions skipped, see <a href=\"https://codex.wordpress.org/WordPress_Versions\">the full list</a></td><td>&hellip;</td><td>&hellip;</td></tr><tr><td><a href=\"https://wordpress.org/news/2015/12/clifford/\">4.4</a></td><td>Clifford Brown</td><td>December 8, 2015</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/04/coleman/\">4.5</a></td><td>Coleman Hawkins</td><td>April 12, 2016</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/08/pepper/\">4.6</a></td><td>Pepper Adams</td><td>August 16, 2016</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/12/vaughan/\">4.7</a></td><td>Sarah Vaughan</td><td>December 6, 2016</td></tr></tbody></table>\n"
     6        "innerHTML": "\n<table class=\"wp-block-table\"><thead><tr><th>Version</th><th>Musician</th><th>Date</th></tr></thead><tbody><tr><td><a href=\"https://wordpress.org/news/2003/05/wordpress-now-available/\">.70</a></td><td>No musician chosen.</td><td>May 27, 2003</td></tr><tr><td><a href=\"https://wordpress.org/news/2004/01/wordpress-10/\">1.0</a></td><td>Miles Davis</td><td>January 3, 2004</td></tr><tr><td>Lots of versions skipped, see <a href=\"https://codex.wordpress.org/WordPress_Versions\">the full list</a></td><td>&hellip;</td><td>&hellip;</td></tr><tr><td><a href=\"https://wordpress.org/news/2015/12/clifford/\">4.4</a></td><td>Clifford Brown</td><td>December 8, 2015</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/04/coleman/\">4.5</a></td><td>Coleman Hawkins</td><td>April 12, 2016</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/08/pepper/\">4.6</a></td><td>Pepper Adams</td><td>August 16, 2016</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/12/vaughan/\">4.7</a></td><td>Sarah Vaughan</td><td>December 6, 2016</td></tr></tbody></table>\n",
     7        "innerContent": [ "\n<table class=\"wp-block-table\"><thead><tr><th>Version</th><th>Musician</th><th>Date</th></tr></thead><tbody><tr><td><a href=\"https://wordpress.org/news/2003/05/wordpress-now-available/\">.70</a></td><td>No musician chosen.</td><td>May 27, 2003</td></tr><tr><td><a href=\"https://wordpress.org/news/2004/01/wordpress-10/\">1.0</a></td><td>Miles Davis</td><td>January 3, 2004</td></tr><tr><td>Lots of versions skipped, see <a href=\"https://codex.wordpress.org/WordPress_Versions\">the full list</a></td><td>&hellip;</td><td>&hellip;</td></tr><tr><td><a href=\"https://wordpress.org/news/2015/12/clifford/\">4.4</a></td><td>Clifford Brown</td><td>December 8, 2015</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/04/coleman/\">4.5</a></td><td>Coleman Hawkins</td><td>April 12, 2016</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/08/pepper/\">4.6</a></td><td>Pepper Adams</td><td>August 16, 2016</td></tr><tr><td><a href=\"https://wordpress.org/news/2016/12/vaughan/\">4.7</a></td><td>Sarah Vaughan</td><td>December 6, 2016</td></tr></tbody></table>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__text-columns.parsed.json

    r43751 r44261  
    66        },
    77        "innerBlocks": [],
    8         "innerHTML": "\n<div class=\"wp-block-text-columns aligncenter columns-2\">\n    <div class=\"wp-block-column\">\n        <p>One</p>\n    </div>\n    <div class=\"wp-block-column\">\n        <p>Two</p>\n    </div>\n</div>\n"
     8        "innerHTML": "\n<div class=\"wp-block-text-columns aligncenter columns-2\">\n    <div class=\"wp-block-column\">\n        <p>One</p>\n    </div>\n    <div class=\"wp-block-column\">\n        <p>Two</p>\n    </div>\n</div>\n",
     9        "innerContent": [ "\n<div class=\"wp-block-text-columns aligncenter columns-2\">\n    <div class=\"wp-block-column\">\n        <p>One</p>\n    </div>\n    <div class=\"wp-block-column\">\n        <p>Two</p>\n    </div>\n</div>\n" ]
    910    },
    1011    {
     
    1213        "attrs": {},
    1314        "innerBlocks": [],
    14         "innerHTML": "\n"
     15        "innerHTML": "\n",
     16        "innerContent": [ "\n" ]
    1517    }
    1618]
  • trunk/tests/phpunit/data/blocks/fixtures/core__text__converts-to-paragraph.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<p>This is an old-style text block.  Changed to <code>paragraph</code> in #2135.</p>\n"
     6        "innerHTML": "\n<p>This is an old-style text block.  Changed to <code>paragraph</code> in #2135.</p>\n",
     7        "innerContent": [ "\n<p>This is an old-style text block.  Changed to <code>paragraph</code> in #2135.</p>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__verse.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<pre class=\"wp-block-verse\">A <em>verse</em>…<br>And more!</pre>\n"
     6        "innerHTML": "\n<pre class=\"wp-block-verse\">A <em>verse</em>…<br>And more!</pre>\n",
     7        "innerContent": [ "\n<pre class=\"wp-block-verse\">A <em>verse</em>…<br>And more!</pre>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/data/blocks/fixtures/core__video.parsed.json

    r43751 r44261  
    44        "attrs": {},
    55        "innerBlocks": [],
    6         "innerHTML": "\n<figure class=\"wp-block-video\"><video controls src=\"https://awesome-fake.video/file.mp4\"></video></figure>\n"
     6        "innerHTML": "\n<figure class=\"wp-block-video\"><video controls src=\"https://awesome-fake.video/file.mp4\"></video></figure>\n",
     7        "innerContent": [ "\n<figure class=\"wp-block-video\"><video controls src=\"https://awesome-fake.video/file.mp4\"></video></figure>\n" ]
    78    },
    89    {
     
    1011        "attrs": {},
    1112        "innerBlocks": [],
    12         "innerHTML": "\n"
     13        "innerHTML": "\n",
     14        "innerContent": [ "\n" ]
    1315    }
    1416]
  • trunk/tests/phpunit/tests/blocks/render.php

    r44226 r44261  
    4747            $registry->unregister( 'core/test' );
    4848        }
     49        if ( $registry->is_registered( 'core/dynamic' ) ) {
     50            $registry->unregister( 'core/dynamic' );
     51        }
    4952    }
    5053
     
    7679        $block_filtered_content = preg_replace( "/\n{2,}/", "\n", $block_filtered_content );
    7780
     81        remove_shortcode( 'someshortcode' );
     82
    7883        $this->assertEquals( trim( $classic_filtered_content ), trim( $block_filtered_content ) );
    7984    }
     
    8186    function handle_shortcode( $atts, $content ) {
    8287        return $content;
     88    }
     89
     90    public function test_can_nest_at_least_so_deep() {
     91        $minimum_depth = 99;
     92
     93        $content = 'deep inside';
     94        for ( $i = 0; $i < $minimum_depth; $i++ ) {
     95            $content = '<!-- wp:core/test -->' . $content . '<!-- /wp:core/test -->';
     96        }
     97
     98        $this->assertEquals( 'deep inside', do_blocks( $content ) );
     99    }
     100
     101    public function test_can_nest_at_least_so_deep_with_dynamic_blocks() {
     102        $minimum_depth = 99;
     103
     104        $content = '0';
     105        for ( $i = 0; $i < $minimum_depth; $i++ ) {
     106            $content = '<!-- wp:core/test -->' . $content . '<!-- /wp:core/test -->';
     107        }
     108
     109        register_block_type(
     110            'core/test',
     111            array(
     112                'render_callback' => array(
     113                    $this,
     114                    'render_dynamic_incrementer',
     115                ),
     116            )
     117        );
     118
     119        $this->assertEquals( $minimum_depth, (int) do_blocks( $content ) );
     120    }
     121
     122    public function render_dynamic_incrementer( $attrs, $content ) {
     123        return (string) ( 1 + (int) $content );
    83124    }
    84125
     
    243284    }
    244285
     286    public function test_dynamic_block_gets_inner_html() {
     287        register_block_type(
     288            'core/dynamic',
     289            array(
     290                'render_callback' => array(
     291                    $this,
     292                    'render_serialize_dynamic_block',
     293                ),
     294            )
     295        );
     296
     297        $output = do_blocks( '<!-- wp:dynamic -->inner<!-- /wp:dynamic -->' );
     298
     299        $data = unserialize( base64_decode( $output ) );
     300
     301        $this->assertEquals( 'inner', $data[1] );
     302    }
     303
     304    public function test_dynamic_block_gets_rendered_inner_blocks() {
     305        register_block_type(
     306            'core/test',
     307            array(
     308                'render_callback' => array(
     309                    $this,
     310                    'render_test_block_numeric',
     311                ),
     312            )
     313        );
     314
     315        register_block_type(
     316            'core/dynamic',
     317            array(
     318                'render_callback' => array(
     319                    $this,
     320                    'render_serialize_dynamic_block',
     321                ),
     322            )
     323        );
     324
     325        $output = do_blocks( '<!-- wp:dynamic -->before<!-- wp:test /-->after<!-- /wp:dynamic -->' );
     326
     327        $data = unserialize( base64_decode( $output ) );
     328
     329        $this->assertEquals( 'before10after', $data[1] );
     330    }
     331
     332    public function test_dynamic_block_gets_rendered_inner_dynamic_blocks() {
     333        register_block_type(
     334            'core/dynamic',
     335            array(
     336                'render_callback' => array(
     337                    $this,
     338                    'render_serialize_dynamic_block',
     339                ),
     340            )
     341        );
     342
     343        $output = do_blocks( '<!-- wp:dynamic -->before<!-- wp:dynamic -->deep inner<!-- /wp:dynamic -->after<!-- /wp:dynamic -->' );
     344
     345        $data = unserialize( base64_decode( $output ) );
     346
     347        $inner = $this->render_serialize_dynamic_block( array(), 'deep inner' );
     348
     349        $this->assertEquals( $data[1], 'before' . $inner . 'after' );
     350    }
     351
    245352    /**
    246353     * Helper function to remove relative paths and extension from a filename, leaving just the fixture name.
     
    306413    public function render_test_block_numeric() {
    307414        return 10;
     415    }
     416
     417    /**
     418     * Test block rendering function, returning base64 encoded serialised value.
     419     *
     420     * @since 5.0.0
     421     *
     422     * @return string Block output.
     423     */
     424    public function render_serialize_dynamic_block( $attributes, $content ) {
     425        return base64_encode( serialize( array( $attributes, $content ) ) );
    308426    }
    309427
  • trunk/tools/webpack/packages.js

    r44245 r44261  
    5858        'api-fetch',
    5959        'a11y',
     60        'annotations',
    6061        'autop',
    6162        'blob',
     
    9697    const vendors = {
    9798        'lodash.js': 'lodash/lodash.js',
    98         'wp-polyfill-ecmascript.js': '@babel/polyfill/dist/polyfill.js',
     99        'wp-polyfill.js': '@babel/polyfill/dist/polyfill.js',
    99100        'wp-polyfill-fetch.js': 'whatwg-fetch/dist/fetch.umd.js',
    100101        'wp-polyfill-element-closest.js': 'element-closest/element-closest.js',
     
    108109    const minifiedVendors = {
    109110        'lodash.min.js': 'lodash/lodash.min.js',
    110         'wp-polyfill-ecmascript.min.js': '@babel/polyfill/dist/polyfill.min.js',
     111        'wp-polyfill.min.js': '@babel/polyfill/dist/polyfill.min.js',
    111112        'wp-polyfill-formdata.min.js': 'formdata-polyfill/formdata.min.js',
    112113        'moment.min.js': 'moment/min/moment.min.js',
     
    122123
    123124    const phpFiles = {
    124         // Parser shouldn't be copied until nested block issues are resolved.
    125         // 'block-serialization-default-parser/parser.php': 'wp-includes/class-wp-block-parser.php',
     125        'block-serialization-default-parser/parser.php': 'wp-includes/class-wp-block-parser.php',
    126126        'block-library/src/archives/index.php': 'wp-includes/blocks/archives.php',
    127127        'block-library/src/block/index.php': 'wp-includes/blocks/block.php',
Note: See TracChangeset for help on using the changeset viewer.