From 0be25105ce95bf8961bf23808abe97d8d4a8030b Mon Sep 17 00:00:00 2001 From: Stephen Nelson Date: Tue, 30 Jun 2026 12:28:37 +0930 Subject: [PATCH 1/3] Churn: update dependencies --- Gemfile.lock | 39 +++---- yarn.lock | 316 +++++++++++++++++++++++++-------------------------- 2 files changed, 178 insertions(+), 177 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d8e0c42..3c67be9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -115,11 +115,11 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - compare-xml (0.66) - nokogiri (~> 1.8) + compare-xml (1.0.0) + nokogiri (>= 1.6) concurrent-ruby (1.3.7) connection_pool (3.0.2) - crass (1.0.6) + crass (1.0.7) cuprite (0.17) capybara (~> 3.0) ferrum (~> 0.17.0) @@ -148,16 +148,16 @@ GEM concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - globalid (1.3.0) + globalid (1.4.0) activesupport (>= 6.1) - govuk_design_system_formbuilder (6.2.0) + govuk_design_system_formbuilder (6.2.1) actionview (>= 7.2) activemodel (>= 7.2) activesupport (>= 7.2) html-attributes-utils (~> 1) html-attributes-utils (1.0.2) activesupport (>= 6.1.4.4) - i18n (1.15.0) + i18n (1.15.2) concurrent-ruby (~> 1.0) image_processing (2.0.2) importmap-rails (2.2.3) @@ -170,8 +170,8 @@ GEM prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - json (2.19.9) - katalyst-govuk-formbuilder (1.27.0) + json (2.20.0) + katalyst-govuk-formbuilder (1.28.0) govuk_design_system_formbuilder (>= 6.2.0) katalyst-html-attributes (1.1.2) activesupport @@ -217,7 +217,7 @@ GEM parser (3.3.11.1) ast (~> 2.4.1) racc - pp (0.6.3) + pp (0.6.4) prettyprint prettyprint (0.2.0) prism (1.9.0) @@ -225,9 +225,6 @@ GEM actionpack (>= 7.0.0) activesupport (>= 7.0.0) rack - psych (5.4.0) - date - stringio public_suffix (7.0.5) puma (8.0.2) nio4r (~> 2.0) @@ -276,9 +273,14 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.4.2) - rdoc (7.2.0) + rbs (4.0.3) + logger + prism (>= 1.6.0) + tsort + rdoc (8.0.0) erb - psych (>= 4.0.0) + prism (>= 1.6.0) + rbs (>= 4.0.0) tsort regexp_parser (2.12.0) reline (0.6.3) @@ -314,7 +316,7 @@ GEM rubocop-ast (1.49.1) parser (>= 3.3.7.2) prism (~> 1.7) - rubocop-capybara (2.23.0) + rubocop-capybara (3.0.0) lint_roller (~> 1.1) rubocop (~> 1.81) rubocop-factory_bot (2.28.0) @@ -334,7 +336,7 @@ GEM lint_roller (~> 1.1) rubocop (>= 1.75.0, < 2.0) rubocop-ast (>= 1.47.1, < 2.0) - rubocop-rails (2.35.4) + rubocop-rails (2.35.5) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) @@ -368,7 +370,6 @@ GEM sqlite3 (2.9.5-x86_64-linux-gnu) stimulus-rails (1.3.4) railties (>= 6.0.0) - stringio (3.2.0) thor (1.5.0) timeout (0.6.1) tsort (0.2.0) @@ -387,7 +388,7 @@ GEM activesupport (>= 7.1.0) concurrent-ruby (~> 1) webrick (1.9.2) - websocket-driver (0.8.1) + websocket-driver (0.8.2) base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -428,4 +429,4 @@ DEPENDENCIES turbo-rails BUNDLED WITH - 4.0.14 + 4.0.15 diff --git a/yarn.lock b/yarn.lock index c1c4660..7248fb5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -65,130 +65,130 @@ estree-walker "^2.0.2" picomatch "^4.0.2" -"@rollup/rollup-android-arm-eabi@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz#634b0258cc501bef2353cee09a887b434826e81f" - integrity sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ== - -"@rollup/rollup-android-arm64@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz#d7804ff9c31c2b8e7c51d966fedac65a4c828578" - integrity sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA== - -"@rollup/rollup-darwin-arm64@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz#f26d03228e48c8bd55ff6be847242308dbfdb50d" - integrity sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw== - -"@rollup/rollup-darwin-x64@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz#6e9037ccfc806a749aa044b063256a26ad32339d" - integrity sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w== - -"@rollup/rollup-freebsd-arm64@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz#ff448605b36cc4736a6fea89bd0eb74653f09cbc" - integrity sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ== - -"@rollup/rollup-freebsd-x64@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz#a30fe00a8651b577966022d1db1fb1bd6776105e" - integrity sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ== - -"@rollup/rollup-linux-arm-gnueabihf@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz#0ba85b63893eb17e11052bd21fe2809afc475a82" - integrity sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ== - -"@rollup/rollup-linux-arm-musleabihf@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz#982bf23fcfe4e8e13002912d4073f56a2eea2a39" - integrity sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA== - -"@rollup/rollup-linux-arm64-gnu@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz#c94d1e8bd116ea2b569aab37dd04a6ccab74f1ab" - integrity sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g== - -"@rollup/rollup-linux-arm64-musl@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz#a7d79014ba3c5dd2d140309730365d413976db24" - integrity sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw== - -"@rollup/rollup-linux-loong64-gnu@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz#5dd943c58bda55d8b269426bd60a47dd9c27776e" - integrity sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg== - -"@rollup/rollup-linux-loong64-musl@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz#08b1b9d362c64847306fea979b935e93a2590c4e" - integrity sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA== - -"@rollup/rollup-linux-ppc64-gnu@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz#1c5de568966d11091281b22bc764ee7adf92667b" - integrity sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w== - -"@rollup/rollup-linux-ppc64-musl@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz#4dde1c9b941748ea49e07cfc96c64b18236225cd" - integrity sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg== - -"@rollup/rollup-linux-riscv64-gnu@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz#21dd1014033b970dd23189d1d4d3cdab45de7f9a" - integrity sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg== - -"@rollup/rollup-linux-riscv64-musl@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz#4664e0bae205a3a18eb6407c10054c4b8dd7f381" - integrity sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg== - -"@rollup/rollup-linux-s390x-gnu@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz#b05a6b3af6a0d3c9b9f7be9c253eb4f101a67848" - integrity sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA== - -"@rollup/rollup-linux-x64-gnu@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz#85dda72aa08cdc256f80f46d881b2a988bb0cce2" - integrity sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg== - -"@rollup/rollup-linux-x64-musl@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz#d79f5be62a484b58a8ec4d5ae23acf7b0eb1a8ff" - integrity sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw== - -"@rollup/rollup-openbsd-x64@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz#8ebafe0d66cde1c8ab0a867cd9dcea89e22ee7b1" - integrity sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg== - -"@rollup/rollup-openharmony-arm64@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz#105537bcfcb2fd82796518184e995ae4396bb792" - integrity sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg== - -"@rollup/rollup-win32-arm64-msvc@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz#08ebcfc01b5b3b106ae074bae3692e94a63b5125" - integrity sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw== - -"@rollup/rollup-win32-ia32-msvc@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz#493005cb0fcab009e866ccdbad3c97c512c2bf4b" - integrity sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw== - -"@rollup/rollup-win32-x64-gnu@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz#47b40294def035268329d5ffd5364347bf726e5f" - integrity sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA== - -"@rollup/rollup-win32-x64-msvc@4.62.0": - version "4.62.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz#6850434fdb691e9b2408ded9b65ea357bf83636d" - integrity sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA== +"@rollup/rollup-android-arm-eabi@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz#5e9849b661c2229cf967a08dbe2dbbe9e8c991e5" + integrity sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg== + +"@rollup/rollup-android-arm64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz#5b0699ee5dd484b222c9ed74aff43c91ea8b17f8" + integrity sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw== + +"@rollup/rollup-darwin-arm64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz#8bc52c9d7a3ce8d0533c351a9c935de781daa06f" + integrity sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A== + +"@rollup/rollup-darwin-x64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz#ba2ef3e8fb310f0af35588f270cfa5aa96e48764" + integrity sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA== + +"@rollup/rollup-freebsd-arm64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz#93b10bdbfe8ada226b8bc0c02ef6b7f544474d96" + integrity sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw== + +"@rollup/rollup-freebsd-x64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz#3e8aa38ef3c9c300946871e3fdbb0c30e0a20f86" + integrity sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg== + +"@rollup/rollup-linux-arm-gnueabihf@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz#1d7994384bb0ad1bc41921b506e1642d4f9d7fc3" + integrity sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg== + +"@rollup/rollup-linux-arm-musleabihf@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz#a6540f47cf844a56b80ca9ff95d2acdfb2cef97b" + integrity sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA== + +"@rollup/rollup-linux-arm64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz#404f2045651840cbf48da91ba6d0f490f0bc2cbf" + integrity sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA== + +"@rollup/rollup-linux-arm64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz#a3404ffddf7b474b48c99b9c893b6247bb765ba5" + integrity sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ== + +"@rollup/rollup-linux-loong64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz#e8aac6d549b377945e349882f199b7c8eb75ca38" + integrity sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg== + +"@rollup/rollup-linux-loong64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz#6e2e44ea50310b3a582078a915e5feb879c820d4" + integrity sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ== + +"@rollup/rollup-linux-ppc64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz#6898302da6d77a0537cde64b2b4c6b60659bd110" + integrity sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A== + +"@rollup/rollup-linux-ppc64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz#333717c95dd5a66bef8f63e7ef8a9fd845fd18d0" + integrity sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w== + +"@rollup/rollup-linux-riscv64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz#81bc06ba380352004d01f4826eb7cdccefa05bad" + integrity sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg== + +"@rollup/rollup-linux-riscv64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz#95a7cd39de21389ad6788a5284eaaa738e29ca4c" + integrity sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q== + +"@rollup/rollup-linux-s390x-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz#06e6db2ec1bc48b5374c7923ef83c2eb024b2452" + integrity sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg== + +"@rollup/rollup-linux-x64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz#5dc818988285e09e88790c6462def72413df2da3" + integrity sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A== + +"@rollup/rollup-linux-x64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz#2080f4a93349e9afd34be6fc1a37e01fc8bfc80f" + integrity sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg== + +"@rollup/rollup-openbsd-x64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz#21d64a8acb66221724b923e51af5333df1af044b" + integrity sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg== + +"@rollup/rollup-openharmony-arm64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz#8e0fcd9d02141e337b4c5b5cff576cb9a76b1ba0" + integrity sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA== + +"@rollup/rollup-win32-arm64-msvc@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz#bdb4cc4efd58efe808203347f0f5463f0ea16e52" + integrity sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg== + +"@rollup/rollup-win32-ia32-msvc@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz#dbaebde5afd24eae0eefe915d901632e7cb59860" + integrity sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q== + +"@rollup/rollup-win32-x64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz#84109e85fea5f8f1353499f96578fdc2a0e8b138" + integrity sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg== + +"@rollup/rollup-win32-x64-msvc@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz#3671ce3f9b928d5c01f879792d5c0b60ae14d4ad" + integrity sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA== "@types/estree@1.0.9", "@types/estree@^1.0.0": version "1.0.9" @@ -270,9 +270,9 @@ picomatch@^4.0.2: integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== prettier@^3.8.1: - version "3.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.8.4.tgz#f334f013ac04a96676f24dabc23c1c4ae1bae411" - integrity sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q== + version "3.9.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.9.4.tgz#a9c477cf1614376bd1f6bbc593d8c0d414bcec87" + integrity sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg== resolve@^1.22.1: version "1.22.12" @@ -285,43 +285,43 @@ resolve@^1.22.1: supports-preserve-symlinks-flag "^1.0.0" rollup@^4.57.1: - version "4.62.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.62.0.tgz#f68956c966f3c4a51dafbafc5d5388553244191b" - integrity sha512-nc72Wgq62I7rtDV4izT5/aaS0zxy3kttkinf9586ApknY3jZO9NYsmtc24fUckA0X7Q2v+ML4a15pdUlV5V/jA== + version "4.62.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.62.2.tgz#d90fc4cb811f071303c890b779595634f35f9541" + integrity sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA== dependencies: "@types/estree" "1.0.9" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.62.0" - "@rollup/rollup-android-arm64" "4.62.0" - "@rollup/rollup-darwin-arm64" "4.62.0" - "@rollup/rollup-darwin-x64" "4.62.0" - "@rollup/rollup-freebsd-arm64" "4.62.0" - "@rollup/rollup-freebsd-x64" "4.62.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.62.0" - "@rollup/rollup-linux-arm-musleabihf" "4.62.0" - "@rollup/rollup-linux-arm64-gnu" "4.62.0" - "@rollup/rollup-linux-arm64-musl" "4.62.0" - "@rollup/rollup-linux-loong64-gnu" "4.62.0" - "@rollup/rollup-linux-loong64-musl" "4.62.0" - "@rollup/rollup-linux-ppc64-gnu" "4.62.0" - "@rollup/rollup-linux-ppc64-musl" "4.62.0" - "@rollup/rollup-linux-riscv64-gnu" "4.62.0" - "@rollup/rollup-linux-riscv64-musl" "4.62.0" - "@rollup/rollup-linux-s390x-gnu" "4.62.0" - "@rollup/rollup-linux-x64-gnu" "4.62.0" - "@rollup/rollup-linux-x64-musl" "4.62.0" - "@rollup/rollup-openbsd-x64" "4.62.0" - "@rollup/rollup-openharmony-arm64" "4.62.0" - "@rollup/rollup-win32-arm64-msvc" "4.62.0" - "@rollup/rollup-win32-ia32-msvc" "4.62.0" - "@rollup/rollup-win32-x64-gnu" "4.62.0" - "@rollup/rollup-win32-x64-msvc" "4.62.0" + "@rollup/rollup-android-arm-eabi" "4.62.2" + "@rollup/rollup-android-arm64" "4.62.2" + "@rollup/rollup-darwin-arm64" "4.62.2" + "@rollup/rollup-darwin-x64" "4.62.2" + "@rollup/rollup-freebsd-arm64" "4.62.2" + "@rollup/rollup-freebsd-x64" "4.62.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.62.2" + "@rollup/rollup-linux-arm-musleabihf" "4.62.2" + "@rollup/rollup-linux-arm64-gnu" "4.62.2" + "@rollup/rollup-linux-arm64-musl" "4.62.2" + "@rollup/rollup-linux-loong64-gnu" "4.62.2" + "@rollup/rollup-linux-loong64-musl" "4.62.2" + "@rollup/rollup-linux-ppc64-gnu" "4.62.2" + "@rollup/rollup-linux-ppc64-musl" "4.62.2" + "@rollup/rollup-linux-riscv64-gnu" "4.62.2" + "@rollup/rollup-linux-riscv64-musl" "4.62.2" + "@rollup/rollup-linux-s390x-gnu" "4.62.2" + "@rollup/rollup-linux-x64-gnu" "4.62.2" + "@rollup/rollup-linux-x64-musl" "4.62.2" + "@rollup/rollup-openbsd-x64" "4.62.2" + "@rollup/rollup-openharmony-arm64" "4.62.2" + "@rollup/rollup-win32-arm64-msvc" "4.62.2" + "@rollup/rollup-win32-ia32-msvc" "4.62.2" + "@rollup/rollup-win32-x64-gnu" "4.62.2" + "@rollup/rollup-win32-x64-msvc" "4.62.2" fsevents "~2.3.2" serialize-javascript@^7.0.3: - version "7.0.5" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-7.0.5.tgz#c798cc0552ffbb08981914a42a8756e339d0d5b1" - integrity sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw== + version "7.0.6" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-7.0.6.tgz#f2f20c8af0757e4d8fa329d0210636da0682ddef" + integrity sha512-ATTK5Q4gFVg0YDp1my2vqygyvhcklD/UV5GIlYHooGTn/NogJqIzpetkD6E5kmuVULqz/S9inUL25XcAgDRJQg== smob@^1.0.0: version "1.6.2" From 44f1a6027d1bc2c8f37b83af607010ee10b0b30b Mon Sep 17 00:00:00 2001 From: Stephen Nelson Date: Thu, 25 Jun 2026 15:53:07 +0930 Subject: [PATCH 2/3] Remove custom direct uploads **Breaking changes** It's now the responsibility of client apps to authorise direct uploads and the engine does not provide a custom direct upload route. Dropped support for Ruby < 4.0 --- .rubocop.yml | 2 +- Gemfile.lock | 2 +- .../content/direct_uploads_controller.rb | 8 ----- app/helpers/katalyst/content/editor_helper.rb | 5 ++-- config/routes.rb | 1 - katalyst-content.gemspec | 4 +-- .../content/direct_uploads_controller_spec.rb | 29 ------------------- 7 files changed, 6 insertions(+), 45 deletions(-) delete mode 100755 app/controllers/katalyst/content/direct_uploads_controller.rb delete mode 100644 spec/requests/katalyst/content/direct_uploads_controller_spec.rb diff --git a/.rubocop.yml b/.rubocop.yml index 8c07ac7..52c1734 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -8,7 +8,7 @@ inherit_mode: - Exclude AllCops: - TargetRubyVersion: 3.3 + TargetRubyVersion: 4.0 Exclude: # Dummy app - spec/dummy/tmp/**/* diff --git a/Gemfile.lock b/Gemfile.lock index 3c67be9..f6af14d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - katalyst-content (3.1.3) + katalyst-content (3.4.0) active_storage_validations activerecord katalyst-govuk-formbuilder diff --git a/app/controllers/katalyst/content/direct_uploads_controller.rb b/app/controllers/katalyst/content/direct_uploads_controller.rb deleted file mode 100755 index e85ef07..0000000 --- a/app/controllers/katalyst/content/direct_uploads_controller.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -module Katalyst - module Content - class DirectUploadsController < ActiveStorage::DirectUploadsController - end - end -end diff --git a/app/helpers/katalyst/content/editor_helper.rb b/app/helpers/katalyst/content/editor_helper.rb index a27565e..dc20bbf 100644 --- a/app/helpers/katalyst/content/editor_helper.rb +++ b/app/helpers/katalyst/content/editor_helper.rb @@ -10,9 +10,8 @@ module EditorHelper def content_editor_rich_text_attributes(attributes = {}) { data: { - direct_upload_url: direct_uploads_url, - controller: "content--editor--trix", - action: "trix-initialize->content--editor--trix#trixInitialize", + controller: "content--editor--trix", + action: "trix-initialize->content--editor--trix#trixInitialize", }, }.merge_html(attributes) end diff --git a/config/routes.rb b/config/routes.rb index 77212ce..9169a0c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true Katalyst::Content::Engine.routes.draw do - resources :direct_uploads, only: :create resources :items resources :tables, only: %i[create update] end diff --git a/katalyst-content.gemspec b/katalyst-content.gemspec index fda90b1..ba04e68 100644 --- a/katalyst-content.gemspec +++ b/katalyst-content.gemspec @@ -2,14 +2,14 @@ Gem::Specification.new do |spec| spec.name = "katalyst-content" - spec.version = "3.1.3" + spec.version = "3.4.0" spec.authors = ["Katalyst Interactive"] spec.email = ["developers@katalyst.com.au"] spec.summary = "Rich content page builder and editor" spec.homepage = "https://github.com/katalyst/content" spec.license = "MIT" - spec.required_ruby_version = ">= 3.3" + spec.required_ruby_version = ">= 4.0" spec.files = Dir["{app,config,db,lib/katalyst}/**/*", "spec/factories/**/*", "LICENSE.txt", "README.md"] diff --git a/spec/requests/katalyst/content/direct_uploads_controller_spec.rb b/spec/requests/katalyst/content/direct_uploads_controller_spec.rb deleted file mode 100644 index e1db889..0000000 --- a/spec/requests/katalyst/content/direct_uploads_controller_spec.rb +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -require "rails_helper" - -RSpec.describe Katalyst::Content::DirectUploadsController do - subject { action && response } - - describe "#create" do - let(:action) { post katalyst_content.direct_uploads_url, params: } - let(:params) do - { - blob: blob_params, - direct_upload: { blob: blob_params }, - } - end - let(:image_data) { Rails.root.join("../fixtures/images/sample.png").read } - let(:blob_params) do - { - filename: "sample.png", - content_type: "image/png", - byte_size: image_data.size, - checksum: OpenSSL::Digest::MD5.new(image_data).base64digest, - } - end - - it { is_expected.to be_successful } - it { expect { action }.to change(ActiveStorage::Blob, :count).by(1) } - end -end From e65fa3d175d8dfe9818034a57bd59eba6f1a514c Mon Sep 17 00:00:00 2001 From: Stephen Nelson Date: Tue, 30 Jun 2026 11:55:08 +0930 Subject: [PATCH 3/3] Trix customisations migrated to Koi **Breaking changes** If you currently reference content's trix stimulus controller this has gone away. This was not intended as a public API. --- app/javascript/content/application.js | 5 - .../content/editor/trix_controller.js | 146 ------------------ .../katalyst/content/editor/content_spec.rb | 91 ----------- 3 files changed, 242 deletions(-) delete mode 100644 app/javascript/content/editor/trix_controller.js delete mode 100644 spec/system/katalyst/content/editor/content_spec.rb diff --git a/app/javascript/content/application.js b/app/javascript/content/application.js index 119230c..c6c2a98 100644 --- a/app/javascript/content/application.js +++ b/app/javascript/content/application.js @@ -5,7 +5,6 @@ import ListController from "./editor/list_controller"; import NewItemsController from "./editor/new_items_controller"; import StatusBarController from "./editor/status_bar_controller"; import TableController from "./editor/table_controller"; -import TrixController from "./editor/trix_controller"; const Definitions = [ { @@ -36,10 +35,6 @@ const Definitions = [ identifier: "content--editor--table", controllerConstructor: TableController, }, - { - identifier: "content--editor--trix", - controllerConstructor: TrixController, - }, ]; export { Definitions as default }; diff --git a/app/javascript/content/editor/trix_controller.js b/app/javascript/content/editor/trix_controller.js deleted file mode 100644 index 9e12fe4..0000000 --- a/app/javascript/content/editor/trix_controller.js +++ /dev/null @@ -1,146 +0,0 @@ -import { Controller } from "@hotwired/stimulus"; -import "trix"; - -// Note, action_text 7.1.2 changes how Trix is bundled and loaded. This -// seems to have broken the default export from trix. This is a workaround -// that relies on the backwards compatibility of the old export to window.Trix. -const Trix = window.Trix; - -// Stimulus controller doesn't do anything, but having one ensures that trix -// will be lazy loaded when a trix-editor is added to the dom. -export default class TrixController extends Controller { - trixInitialize(e) { - this.element.addEventListener( - "turbo:before-morph-attribute", - this.suppressMorph, - ); - this.element.addEventListener( - "turbo:before-morph-element", - this.suppressMorph, - ); - - if (this.element.toolbarElement) { - this.element.toolbarElement.addEventListener( - "turbo:before-morph-attribute", - this.suppressMorph, - ); - this.element.toolbarElement.addEventListener( - "turbo:before-morph-element", - this.suppressMorph, - ); - } - } - - disconnect() { - this.element.removeEventListener( - "turbo:before-morph-attribute", - this.suppressMorph, - ); - this.element.removeEventListener( - "turbo:before-morph-element", - this.suppressMorph, - ); - - if (this.element.toolbarElement) { - this.element.toolbarElement.removeEventListener( - "turbo:before-morph-attribute", - this.suppressMorph, - ); - this.element.toolbarElement.removeEventListener( - "turbo:before-morph-element", - this.suppressMorph, - ); - } - } - - suppressMorph = (e) => { - // https://github.com/hotwired/turbo-rails/issues/533 - // Note that this will prevent updates from the server from making their way - // to the trix element. Once the upstream issue is resolved we should remove - // this compatibility patch. - if ( - e.target.tagName === "TRIX-EDITOR" || - e.target.tagName === "TRIX-TOOLBAR" - ) { - e.preventDefault(); - } - }; -} - -// Add H4 as an acceptable tag -Trix.config.blockAttributes["heading4"] = { - tagName: "h4", - terminal: true, - breakOnReturn: true, - group: false, -}; - -// Remove H1 from trix list of acceptable tags -delete Trix.config.blockAttributes.heading1; - -/** - * Allow users to enter path and fragment URIs which the input[type=url] browser - * input does not permit. Uses a permissive regex pattern which is not suitable - * for untrusted use cases. - */ -const LINK_PATTERN = "(https?|mailto:|tel:|/|#).*?"; - -/** - * Customize default toolbar: - * - * * headings: h4 instead of h1 - * * links: use type=text instead of type=url - * - * @returns {String} toolbar html fragment - */ -Trix.config.toolbar.getDefaultHTML = () => { - const { lang } = Trix.config; - return ` -
- - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-`; -}; - -/** - * If the element is in the HTML when Trix loads, then Trix will have already injected the toolbar content - * before our code gets a chance to run. Fix that now. - * - * Note: in Trix 2 this is likely to no longer be necessary. - */ -document.querySelectorAll("trix-toolbar").forEach((e) => { - e.innerHTML = Trix.config.toolbar.getDefaultHTML(); -}); diff --git a/spec/system/katalyst/content/editor/content_spec.rb b/spec/system/katalyst/content/editor/content_spec.rb deleted file mode 100644 index e852f66..0000000 --- a/spec/system/katalyst/content/editor/content_spec.rb +++ /dev/null @@ -1,91 +0,0 @@ -# frozen_string_literal: true - -require "rails_helper" - -RSpec.describe "katalyst/content/editor/content" do - it "can add an anchor link" do - item = build(:katalyst_content_content, content: "testing link editing") - container = create(:page, items: [item]) - - visit admin_page_path(container) - - within(".content--editor--item:not([data-deny-edit])") do |row| - row.hover - row.find("[data-icon='edit']").click - end - - # wait for editor to load - expect(page).to have_button(text: "Link") - - find("trix-editor").click - - page.execute_script("document.querySelector('trix-editor').editor.setSelectedRange([8,12])") - - click_on "Link" - fill_in "Enter a URL…", with: "#anchor" - within(".trix-dialog.trix-active") { click_on "Link" } - - click_on "Done" - - expect(page).to have_css("span", class: "status-text", text: "Unsaved changes", visible: :visible) - - click_on "Publish" - - expect(page).to have_link(class: "status-text", text: "Published", visible: :visible) - - visit page_path(container.slug) - - expect(page).to have_link(text: "link", href: "#anchor") - end - - it "can add a heading" do - item = build(:katalyst_content_content, content: "testing headings") - container = create(:page, items: [item]) - - visit admin_page_path(container) - - within(".content--editor--item:not([data-deny-edit])") do |row| - row.hover - row.find("[data-icon='edit']").click - end - - # wait for editor to load - expect(page).to have_button(text: "Heading") - - find("trix-editor").click - - page.execute_script("document.querySelector('trix-editor').editor.setSelectedRange([0,0])") - - click_on "Heading" - click_on "Done" - - expect(page).to have_css("span", class: "status-text", text: "Unsaved changes", visible: :visible) - - click_on "Publish" - - expect(page).to have_link(class: "status-text", text: "Published", visible: :visible) - - visit page_path(container.slug) - - expect(page).to have_css("h4", text: "testing headings") - end - - # regression test for headings not being detected on first interaction - it "can modify an existing heading" do - item = build(:katalyst_content_content, content: "

testing headings

") - container = create(:page, items: [item]) - - visit admin_page_path(container) - - within(".content--editor--item:not([data-deny-edit])") do |row| - row.hover - row.find("[data-icon='edit']").click - end - - # wait for editor to load - expect(page).to have_css("trix-editor h4") - - # ensure heading has correctly identified that the first element is a heading - expect(page).to have_css("button[data-trix-attribute=heading4]", class: "trix-active") - end -end