From 6ac825ed5f670e473ee418879287e285007bc9ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Feb 2024 00:53:13 +0000 Subject: [PATCH 01/99] Bump standard from 1.33.0 to 1.34.0 (#2203) --- Gemfile | 2 +- Gemfile.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Gemfile b/Gemfile index 9d12c0685..7e614a583 100644 --- a/Gemfile +++ b/Gemfile @@ -129,7 +129,7 @@ group :development, :test do gem "rubocop-rails" gem "rubocop-rspec" - gem "standard", "~> 1.33" + gem "standard", "~> 1.34" end group :development do diff --git a/Gemfile.lock b/Gemfile.lock index 349f4dc4d..e40317048 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -297,7 +297,7 @@ GEM racc (~> 1.4) pagy (6.4.3) parallel (1.24.0) - parser (3.3.0.0) + parser (3.3.0.5) ast (~> 2.4.1) racc pg (1.5.4) @@ -411,11 +411,11 @@ GEM rswag-ui (2.13.0) actionpack (>= 3.1, < 7.2) railties (>= 3.1, < 7.2) - rubocop (1.59.0) + rubocop (1.60.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.4) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) @@ -428,7 +428,7 @@ GEM rubocop (~> 1.41) rubocop-factory_bot (2.25.0) rubocop (~> 1.33) - rubocop-performance (1.20.1) + rubocop-performance (1.20.2) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.30.0, < 2.0) rubocop-rails (2.23.1) @@ -482,18 +482,18 @@ GEM apimatic_core (~> 0.3.0) apimatic_core_interfaces (~> 0.2.0) apimatic_faraday_client_adapter (~> 0.1.0) - standard (1.33.0) + standard (1.34.0) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) - rubocop (~> 1.59.0) + rubocop (~> 1.60) standard-custom (~> 1.0.0) standard-performance (~> 1.3) standard-custom (1.0.2) lint_roller (~> 1.0) rubocop (~> 1.50) - standard-performance (1.3.0) + standard-performance (1.3.1) lint_roller (~> 1.1) - rubocop-performance (~> 1.20.1) + rubocop-performance (~> 1.20.2) stimulus-rails (1.3.3) railties (>= 6.0.0) stringio (3.1.0) @@ -592,7 +592,7 @@ DEPENDENCIES spring-watcher-listen! sprockets-rails square.rb - standard (~> 1.33) + standard (~> 1.34) stimulus-rails strip_attributes (~> 1.13) stripe From 6d3de2a2c910b812cca4493422668442e82d53f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Feb 2024 00:53:45 +0000 Subject: [PATCH 02/99] Bump @sentry/browser from 7.100.1 to 7.101.0 (#2202) --- package.json | 2 +- yarn.lock | 140 +++++++++++++++++++++++++-------------------------- 2 files changed, 71 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 03ebbb59d..95885ab2a 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@hotwired/turbo-rails": "^8.0.2", "@rails/actioncable": "^7.1.3", "@rails/activestorage": "^7.1.3", - "@sentry/browser": "^7.100.1", + "@sentry/browser": "^7.101.0", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@webpack-cli/serve": "^2.0.5", diff --git a/yarn.lock b/yarn.lock index 2232f4036..c49581a9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -380,76 +380,76 @@ dependencies: spark-md5 "^3.0.1" -"@sentry-internal/feedback@7.100.1": - version "7.100.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.100.1.tgz#99585ba6f71eca3e7afe918273dd55b12f3aac8a" - integrity sha512-yqcRVnjf+qS+tC4NxOKLJOaSJ+csHmh/dHUzvCTkf5rLsplwXYRnny2r0tqGTQ4tuXMxwgSMKPYwicg81P+xuw== - dependencies: - "@sentry/core" "7.100.1" - "@sentry/types" "7.100.1" - "@sentry/utils" "7.100.1" - -"@sentry-internal/replay-canvas@7.100.1": - version "7.100.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.100.1.tgz#d37228575931b869d2ad415af46b342d83dd0fd7" - integrity sha512-TnqxqJGhbFhhYRhTG2WLFer+lVieV7mNGeIxFBiw1L4kuj8KGl+C0sknssKyZSRVJFSahhHIosHJGRMkkD//7g== - dependencies: - "@sentry/core" "7.100.1" - "@sentry/replay" "7.100.1" - "@sentry/types" "7.100.1" - "@sentry/utils" "7.100.1" - -"@sentry-internal/tracing@7.100.1": - version "7.100.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.100.1.tgz#4329492e50c390567197a4acbf7e3672b1db7820" - integrity sha512-+u9RRf5eL3StiyiRyAHZmdkAR7GTSGx4Mt4Lmi5NEtCcWlTGZ1QgW2r8ZbhouVmTiJkjhQgYCyej3cojtazeJg== - dependencies: - "@sentry/core" "7.100.1" - "@sentry/types" "7.100.1" - "@sentry/utils" "7.100.1" - -"@sentry/browser@^7.100.1": - version "7.100.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.100.1.tgz#146ffca94cc187ecbf49915ef3100f6037316110" - integrity sha512-IxHQ08ixf0bmaWpe4yt1J4UUsOpg02fxax9z3tOQYXw5MSzz5pDXn8M8DFUVJB3wWuyXhHXTub9yD3VIP9fnoA== - dependencies: - "@sentry-internal/feedback" "7.100.1" - "@sentry-internal/replay-canvas" "7.100.1" - "@sentry-internal/tracing" "7.100.1" - "@sentry/core" "7.100.1" - "@sentry/replay" "7.100.1" - "@sentry/types" "7.100.1" - "@sentry/utils" "7.100.1" - -"@sentry/core@7.100.1": - version "7.100.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.100.1.tgz#7b8e101a931af8e8b3b2449534749f882772df4f" - integrity sha512-f+ItUge/o9AjlveQq0ZUbQauKlPH1FIJbC1TRaYLJ4KNfOdrsh8yZ29RmWv0cFJ/e+FGTr603gWpRPObF5rM8Q== - dependencies: - "@sentry/types" "7.100.1" - "@sentry/utils" "7.100.1" - -"@sentry/replay@7.100.1": - version "7.100.1" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.100.1.tgz#d9af5f8e92ce0f93cef89f5aef74d91a8d12c3eb" - integrity sha512-B1NFjzGEFaqejxBRdUyEzH8ChXc2kfiqlA/W/Lg0aoWIl2/7nuMk+l4ld9gW5F5bIAXDTVd5vYltb1lWEbpr7w== - dependencies: - "@sentry-internal/tracing" "7.100.1" - "@sentry/core" "7.100.1" - "@sentry/types" "7.100.1" - "@sentry/utils" "7.100.1" - -"@sentry/types@7.100.1": - version "7.100.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.100.1.tgz#1349b77269cecf4e80c087842575bd1a001e9995" - integrity sha512-fLM+LedHuKzOd8IhXBqaQuym+AA519MGjeczBa5kGakes/BbAsUMwsNfjsKQedp7Kh44RgYF99jwoRPK2oDrXw== - -"@sentry/utils@7.100.1": - version "7.100.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.100.1.tgz#6e26f3b06b1e485a2180f464ab3374ecb8d5e407" - integrity sha512-Ve6dXr1o6xiBe3VCoJgiutmBKrugryI65EZAbYto5XI+t+PjiLLf9wXtEMF24ZrwImo4Lv3E9Uqza+fWkEbw6A== - dependencies: - "@sentry/types" "7.100.1" +"@sentry-internal/feedback@7.101.0": + version "7.101.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.101.0.tgz#cce033c80c498212a5b9a9540ff3ab8297eefbe2" + integrity sha512-uQBMYhZp/qkBEA/GXRMm1OfSkRkZojxBrCrFmzkWhJzXT+YbL57/M1uCcwkKmorKlg393Soh7MLULInwmcwWkA== + dependencies: + "@sentry/core" "7.101.0" + "@sentry/types" "7.101.0" + "@sentry/utils" "7.101.0" + +"@sentry-internal/replay-canvas@7.101.0": + version "7.101.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.101.0.tgz#0e32e1bebd4d125126e481c0df5f7186edeadbf4" + integrity sha512-fiz4kPpz/j6ZaD+vOcUXuO1HqD49djs4QwyTsRwCCi77EKZOGAaijpqWckDWyZs0dOOnbGGGC5x3o+CfTJcjKA== + dependencies: + "@sentry/core" "7.101.0" + "@sentry/replay" "7.101.0" + "@sentry/types" "7.101.0" + "@sentry/utils" "7.101.0" + +"@sentry-internal/tracing@7.101.0": + version "7.101.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.101.0.tgz#9a92ee722d071449a61c061867aa43a5beefcfb6" + integrity sha512-rp9oOLQs6vMuzvAnAHRRCNu5Z0o/ZVRI3WPYedxpdMWKD1Z3G9o+0joP+ZIUqHsamWWYiIgPqXgL9AK6AWjFRg== + dependencies: + "@sentry/core" "7.101.0" + "@sentry/types" "7.101.0" + "@sentry/utils" "7.101.0" + +"@sentry/browser@^7.101.0": + version "7.101.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.101.0.tgz#53ecfa8a9b0076b95930dff5bbb616e827608606" + integrity sha512-wj9YLfS/caR20Yq0hdEjsZHuhnYLU7Ht0SlcJx5MNMnArtmW1k2CWZz3PCqcW/rTZe53npVTe6eMqMccB4aPrQ== + dependencies: + "@sentry-internal/feedback" "7.101.0" + "@sentry-internal/replay-canvas" "7.101.0" + "@sentry-internal/tracing" "7.101.0" + "@sentry/core" "7.101.0" + "@sentry/replay" "7.101.0" + "@sentry/types" "7.101.0" + "@sentry/utils" "7.101.0" + +"@sentry/core@7.101.0": + version "7.101.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.101.0.tgz#7ddae48771bad6d3170df0d9807f86c39824dd0a" + integrity sha512-dRNrNV5OLGARkOGgxJsVDhA98Pev5G1LVJcud5E83cRg49BCUx2riqEtDP6iIS1nvem6cApkSnLC1kvl/T5/Cw== + dependencies: + "@sentry/types" "7.101.0" + "@sentry/utils" "7.101.0" + +"@sentry/replay@7.101.0": + version "7.101.0" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.101.0.tgz#66d199316be3f0fc2ed82a5294f519d58a2c2260" + integrity sha512-DSWkGKI/QhCAY+qm4mBnPob3/YsewisskVTak7KMDotJ75H85WFJhVwOMtvaEWIzVezCOItPv7ql51jTwhR3wA== + dependencies: + "@sentry-internal/tracing" "7.101.0" + "@sentry/core" "7.101.0" + "@sentry/types" "7.101.0" + "@sentry/utils" "7.101.0" + +"@sentry/types@7.101.0": + version "7.101.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.101.0.tgz#0174a32d6c12def73f438dc2a10bd52cc0ba0c81" + integrity sha512-YC+ltO/AlbEyJHjCUYQ4is1HcDT2zSMuLkIAcyQmK7fUdlGT4iR5sfENriY9ZopYHgjPdJKfhI8ohScam7zp/A== + +"@sentry/utils@7.101.0": + version "7.101.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.101.0.tgz#0eadb9709c9b6fbc03d509acf7fe6a00ab4e6220" + integrity sha512-px1NUkCLsD9UKLE4W4DghpyzmAVHgYhskrjRt30ubyUKqlggtHkOXRvS8MjuWowR/i0wF0GuTCbU9StBd7JMrw== + dependencies: + "@sentry/types" "7.101.0" "@sindresorhus/merge-streams@^1.0.0": version "1.0.0" From b85f1dcdf894fa30375c37c0c771f5251e14a0e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Feb 2024 23:31:25 +0000 Subject: [PATCH 03/99] Bump pagy from 6.4.3 to 6.4.4 (#2205) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e40317048..7f71b43e2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -295,7 +295,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (6.4.3) + pagy (6.4.4) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From 4bcfd99a4ee6a2e51e4a2d797eda56e1f7478d65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Feb 2024 00:54:43 +0000 Subject: [PATCH 04/99] Bump pg from 1.5.4 to 1.5.5 (#2209) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7f71b43e2..a954306f4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -300,7 +300,7 @@ GEM parser (3.3.0.5) ast (~> 2.4.1) racc - pg (1.5.4) + pg (1.5.5) pry (0.14.1) coderay (~> 1.1) method_source (~> 1.0) From 558d2ca4508821697d535f48db0378266aca279b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Feb 2024 00:54:58 +0000 Subject: [PATCH 05/99] Bump @sentry/browser from 7.101.0 to 7.101.1 (#2207) --- package.json | 2 +- yarn.lock | 140 +++++++++++++++++++++++++-------------------------- 2 files changed, 71 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 95885ab2a..064d6a4f2 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@hotwired/turbo-rails": "^8.0.2", "@rails/actioncable": "^7.1.3", "@rails/activestorage": "^7.1.3", - "@sentry/browser": "^7.101.0", + "@sentry/browser": "^7.101.1", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@webpack-cli/serve": "^2.0.5", diff --git a/yarn.lock b/yarn.lock index c49581a9e..f63afcfbc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -380,76 +380,76 @@ dependencies: spark-md5 "^3.0.1" -"@sentry-internal/feedback@7.101.0": - version "7.101.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.101.0.tgz#cce033c80c498212a5b9a9540ff3ab8297eefbe2" - integrity sha512-uQBMYhZp/qkBEA/GXRMm1OfSkRkZojxBrCrFmzkWhJzXT+YbL57/M1uCcwkKmorKlg393Soh7MLULInwmcwWkA== - dependencies: - "@sentry/core" "7.101.0" - "@sentry/types" "7.101.0" - "@sentry/utils" "7.101.0" - -"@sentry-internal/replay-canvas@7.101.0": - version "7.101.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.101.0.tgz#0e32e1bebd4d125126e481c0df5f7186edeadbf4" - integrity sha512-fiz4kPpz/j6ZaD+vOcUXuO1HqD49djs4QwyTsRwCCi77EKZOGAaijpqWckDWyZs0dOOnbGGGC5x3o+CfTJcjKA== - dependencies: - "@sentry/core" "7.101.0" - "@sentry/replay" "7.101.0" - "@sentry/types" "7.101.0" - "@sentry/utils" "7.101.0" - -"@sentry-internal/tracing@7.101.0": - version "7.101.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.101.0.tgz#9a92ee722d071449a61c061867aa43a5beefcfb6" - integrity sha512-rp9oOLQs6vMuzvAnAHRRCNu5Z0o/ZVRI3WPYedxpdMWKD1Z3G9o+0joP+ZIUqHsamWWYiIgPqXgL9AK6AWjFRg== - dependencies: - "@sentry/core" "7.101.0" - "@sentry/types" "7.101.0" - "@sentry/utils" "7.101.0" - -"@sentry/browser@^7.101.0": - version "7.101.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.101.0.tgz#53ecfa8a9b0076b95930dff5bbb616e827608606" - integrity sha512-wj9YLfS/caR20Yq0hdEjsZHuhnYLU7Ht0SlcJx5MNMnArtmW1k2CWZz3PCqcW/rTZe53npVTe6eMqMccB4aPrQ== - dependencies: - "@sentry-internal/feedback" "7.101.0" - "@sentry-internal/replay-canvas" "7.101.0" - "@sentry-internal/tracing" "7.101.0" - "@sentry/core" "7.101.0" - "@sentry/replay" "7.101.0" - "@sentry/types" "7.101.0" - "@sentry/utils" "7.101.0" - -"@sentry/core@7.101.0": - version "7.101.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.101.0.tgz#7ddae48771bad6d3170df0d9807f86c39824dd0a" - integrity sha512-dRNrNV5OLGARkOGgxJsVDhA98Pev5G1LVJcud5E83cRg49BCUx2riqEtDP6iIS1nvem6cApkSnLC1kvl/T5/Cw== - dependencies: - "@sentry/types" "7.101.0" - "@sentry/utils" "7.101.0" - -"@sentry/replay@7.101.0": - version "7.101.0" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.101.0.tgz#66d199316be3f0fc2ed82a5294f519d58a2c2260" - integrity sha512-DSWkGKI/QhCAY+qm4mBnPob3/YsewisskVTak7KMDotJ75H85WFJhVwOMtvaEWIzVezCOItPv7ql51jTwhR3wA== - dependencies: - "@sentry-internal/tracing" "7.101.0" - "@sentry/core" "7.101.0" - "@sentry/types" "7.101.0" - "@sentry/utils" "7.101.0" - -"@sentry/types@7.101.0": - version "7.101.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.101.0.tgz#0174a32d6c12def73f438dc2a10bd52cc0ba0c81" - integrity sha512-YC+ltO/AlbEyJHjCUYQ4is1HcDT2zSMuLkIAcyQmK7fUdlGT4iR5sfENriY9ZopYHgjPdJKfhI8ohScam7zp/A== - -"@sentry/utils@7.101.0": - version "7.101.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.101.0.tgz#0eadb9709c9b6fbc03d509acf7fe6a00ab4e6220" - integrity sha512-px1NUkCLsD9UKLE4W4DghpyzmAVHgYhskrjRt30ubyUKqlggtHkOXRvS8MjuWowR/i0wF0GuTCbU9StBd7JMrw== - dependencies: - "@sentry/types" "7.101.0" +"@sentry-internal/feedback@7.101.1": + version "7.101.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.101.1.tgz#d7e27ebcc46bd7306cfaa89b591293a394d75672" + integrity sha512-fOKDMVvLX+FuJHJszKBvRg1m7+fd4hchqRnZ9DDfitT6P5Ppl0gbEt/LStqu8Wq5M0tna+hpdwHlVEt7gZVKzw== + dependencies: + "@sentry/core" "7.101.1" + "@sentry/types" "7.101.1" + "@sentry/utils" "7.101.1" + +"@sentry-internal/replay-canvas@7.101.1": + version "7.101.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.101.1.tgz#6856431a6360dd456c693d0510410dcd46f28150" + integrity sha512-09l6nD+lxWvwkpXLlIZuzj/z79Llbo6mcH33TJvxrUTjAqSGF/i3Pd5bTLWro9atippOyQgIV/yTGG4Bc5FhyQ== + dependencies: + "@sentry/core" "7.101.1" + "@sentry/replay" "7.101.1" + "@sentry/types" "7.101.1" + "@sentry/utils" "7.101.1" + +"@sentry-internal/tracing@7.101.1": + version "7.101.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.101.1.tgz#9504e29c3c2c3ef5f652777e487b596cf8f78e1a" + integrity sha512-ihjWG8x4x0ozx6t+EHoXLKbsPrgzYLCpeBLWyS+M6n3hn6cmHM76c8nZw3ldhUQi5UYL3LFC/JZ50b4oSxtlrg== + dependencies: + "@sentry/core" "7.101.1" + "@sentry/types" "7.101.1" + "@sentry/utils" "7.101.1" + +"@sentry/browser@^7.101.1": + version "7.101.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.101.1.tgz#bab1257de499ed0e928bb4264a2e64d16cecccb5" + integrity sha512-+rIFoWPdO29AHVYsAwq8QEl2Ihv17Xh9Bt2aPFvLTGDA0caHjnx98g2jSOvLIOah6HI7Nwp3Njg2zBEzDtHkNw== + dependencies: + "@sentry-internal/feedback" "7.101.1" + "@sentry-internal/replay-canvas" "7.101.1" + "@sentry-internal/tracing" "7.101.1" + "@sentry/core" "7.101.1" + "@sentry/replay" "7.101.1" + "@sentry/types" "7.101.1" + "@sentry/utils" "7.101.1" + +"@sentry/core@7.101.1": + version "7.101.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.101.1.tgz#929841b7734129803b6dcd4d16bf0d3f53af4657" + integrity sha512-XSmXXeYT1d4O14eDF3OXPJFUgaN2qYEeIGUztqPX9nBs9/ij8y/kZOayFqlIMnfGvjOUM+63sy/2xDBOpFn6ug== + dependencies: + "@sentry/types" "7.101.1" + "@sentry/utils" "7.101.1" + +"@sentry/replay@7.101.1": + version "7.101.1" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.101.1.tgz#129ca5ac70690e78468b037a71a9b756bc3d965f" + integrity sha512-l4jmj2Rf/myzk3TA83PdMiomassG8okdBh1b2Hp1+ycBRVZFDmsR81gKPvnefSXwGwGNGKEmp6Q2bdGzekpp3Q== + dependencies: + "@sentry-internal/tracing" "7.101.1" + "@sentry/core" "7.101.1" + "@sentry/types" "7.101.1" + "@sentry/utils" "7.101.1" + +"@sentry/types@7.101.1": + version "7.101.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.101.1.tgz#7f936022d9b373f85ebf357634bf03a9e433a3d0" + integrity sha512-bwtkQvrCZ6JGc7vqX7TEAKBgkbQFORt84FFS3JQQb8G3efTt9fZd2ReY4buteKQdlALl8h1QWVngTLmI+kyUuw== + +"@sentry/utils@7.101.1": + version "7.101.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.101.1.tgz#97399b1e6a63a15e8f9fec5112ac4834239f1db6" + integrity sha512-Nrg0nrEI3nrOCd9SLJ/WGzxS5KMQE4cryLOvrDcHJRWpsSyGBF1hLLerk84Nsw/0myMsn7zTYU+xoq7idNsX5A== + dependencies: + "@sentry/types" "7.101.1" "@sindresorhus/merge-streams@^1.0.0": version "1.0.0" From fb95d8e3f7af946991111c12fbd1462995851b1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Feb 2024 00:59:15 +0000 Subject: [PATCH 06/99] Bump postcss-import from 16.0.0 to 16.0.1 (#2206) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 064d6a4f2..e2524551a 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "postcss": "^8.4.35", "postcss-cli": "^11.0.0", "postcss-flexbugs-fixes": "^5.0.2", - "postcss-import": "^16.0.0", + "postcss-import": "^16.0.1", "postcss-preset-env": "^9.3.0", "tailwindcss": "^3.4.1", "webpack": "^5.76.0", diff --git a/yarn.lock b/yarn.lock index f63afcfbc..f97588e96 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1624,10 +1624,10 @@ postcss-import@^15.1.0: read-cache "^1.0.0" resolve "^1.1.7" -postcss-import@^16.0.0: - version "16.0.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-16.0.0.tgz#2be1c78391b3f43f129fccfe5cc0cc1a11baef54" - integrity sha512-e77lhVvrD1I2y7dYmBv0k9ULTdArgEYZt97T4w6sFIU5uxIHvDFQlKgUUyY7v7Barj0Yf/zm5A4OquZN7jKm5Q== +postcss-import@^16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-16.0.1.tgz#c2e0478c5af8cb39ab3964c35d8fee8e70c362b8" + integrity sha512-i2Pci0310NaLHr/5JUFSw1j/8hf1CzwMY13g6ZDxgOavmRHQi2ba3PmUHoihO+sjaum+KmCNzskNsw7JDrg03g== dependencies: postcss-value-parser "^4.0.0" read-cache "^1.0.0" From ed4f6a3e577ff83bb94aa758c7bc1a4663cf7911 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Feb 2024 20:17:37 +0000 Subject: [PATCH 07/99] Bump pagy from 6.4.4 to 7.0.0 (#2208) --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 7e614a583..c28c4d025 100644 --- a/Gemfile +++ b/Gemfile @@ -47,7 +47,7 @@ gem "view_component", "~> 3.10" gem "rqrcode", "~> 2.2" # Pagination! -gem "pagy", "~> 6.4" +gem "pagy", "~> 7.0" # Database Layer # diff --git a/Gemfile.lock b/Gemfile.lock index a954306f4..7720077c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -295,7 +295,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (6.4.4) + pagy (7.0.0) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) @@ -564,7 +564,7 @@ DEPENDENCIES lockbox (= 1.3.3) lookbook (>= 2.0.0.beta.4) money-rails - pagy (~> 6.4) + pagy (~> 7.0) pg (~> 1.5) pry-byebug puma (~> 6.4) From b27543811f949951dbe994d789039f74e093df4f Mon Sep 17 00:00:00 2001 From: Zee Spencer <50284+zspencer@users.noreply.github.com> Date: Fri, 9 Feb 2024 17:12:07 -0800 Subject: [PATCH 08/99] =?UTF-8?q?=F0=9F=90=9E=F0=9F=94=A8`Marketplace`:=20?= =?UTF-8?q?`Buying=20Products`=20with=20one=20unarchived=20`DeliveryArea`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/2198 When we added [archiving delivery areas], I didn't take into account that `Marketplace#cart_for_shopper` was checking against all the delivery areas. This fixes that and adds a system spec to make sure we can still checkout after! [archiving delivery areas]: https://github.com/zinc-collective/convene/pull/2024 --- app/furniture/marketplace/carts/_footer.html.erb | 1 + app/furniture/marketplace/marketplace.rb | 2 +- .../marketplace/buying_products_system_spec.rb | 13 +++++++++++++ spec/furniture/marketplace/marketplace_spec.rb | 9 +++++++++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/furniture/marketplace/carts/_footer.html.erb b/app/furniture/marketplace/carts/_footer.html.erb index 83e4d4b75..4d1b0b3a6 100644 --- a/app/furniture/marketplace/carts/_footer.html.erb +++ b/app/furniture/marketplace/carts/_footer.html.erb @@ -10,6 +10,7 @@ <%= render "marketplace/carts/total", cart: cart %> + <%- if cart.ready_for_checkout? %> diff --git a/app/furniture/marketplace/marketplace.rb b/app/furniture/marketplace/marketplace.rb index 769bb6ac2..0cd4a250a 100644 --- a/app/furniture/marketplace/marketplace.rb +++ b/app/furniture/marketplace/marketplace.rb @@ -132,7 +132,7 @@ def square_order_notifications_enabled? end def default_delivery_area - (delivery_areas.size == 1) ? delivery_areas.first : nil + (delivery_areas.unarchived.size == 1) ? delivery_areas.unarchived.first : nil end end end diff --git a/spec/furniture/marketplace/buying_products_system_spec.rb b/spec/furniture/marketplace/buying_products_system_spec.rb index c809259c7..7201f4d6a 100644 --- a/spec/furniture/marketplace/buying_products_system_spec.rb +++ b/spec/furniture/marketplace/buying_products_system_spec.rb @@ -50,6 +50,19 @@ def url_options end end + describe "when the `Marketplace` has one active `DeliveryArea`" do + it "allows Checkout" do + archived_delivery_area = create(:marketplace_delivery_area, + marketplace: marketplace, label: "Oakland", price_cents: 10_00) + archived_delivery_area.archive + visit(polymorphic_path(marketplace.room.location)) + + add_product_to_cart(marketplace.products.first) + + expect { click_link("Checkout") }.not_to raise_error + end + end + it "Doesn't offer archived Products for sale" do archived_product = create(:marketplace_product, :archived, marketplace:) diff --git a/spec/furniture/marketplace/marketplace_spec.rb b/spec/furniture/marketplace/marketplace_spec.rb index 959d88bf9..2c74993fe 100644 --- a/spec/furniture/marketplace/marketplace_spec.rb +++ b/spec/furniture/marketplace/marketplace_spec.rb @@ -64,6 +64,15 @@ cart = marketplace.cart_for_shopper(shopper:) expect(cart.delivery_area).to be_nil end + + context "when only one of them is unarchived" do + before { marketplace.delivery_areas.first.archive } + + it "sets the default delivery area to the single unarchived one" do + cart = marketplace.cart_for_shopper(shopper:) + expect(cart.delivery_area).to eq(marketplace.delivery_areas.unarchived.first) + end + end end end From 90fe8699bb84bcbb80485b14e75ff95bab3cdf1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Feb 2024 00:00:20 +0000 Subject: [PATCH 09/99] Bump stripe from 10.8.0 to 10.9.0 (#2213) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7720077c6..f7f483671 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -499,7 +499,7 @@ GEM stringio (3.1.0) strip_attributes (1.13.0) activemodel (>= 3.0, < 8.0) - stripe (10.8.0) + stripe (10.9.0) strong_migrations (1.7.0) activerecord (>= 5.2) thor (1.3.0) From 243d2a33757f3a92af3ac55cab93f9856d3e2304 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Feb 2024 00:00:29 +0000 Subject: [PATCH 10/99] Bump turbo-rails from 2.0.2 to 2.0.3 (#2212) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f7f483671..a434daeae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -504,7 +504,7 @@ GEM activerecord (>= 5.2) thor (1.3.0) timeout (0.4.1) - turbo-rails (2.0.2) + turbo-rails (2.0.3) actionpack (>= 6.0.0) activejob (>= 6.0.0) railties (>= 6.0.0) From 1dfde9619c40934bb298242a2232a7f4d4822bf5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Feb 2024 00:05:45 +0000 Subject: [PATCH 11/99] Bump sidekiq from 7.2.1 to 7.2.2 (#2214) --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a434daeae..a91df461f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -371,7 +371,7 @@ GEM rdoc (6.6.2) psych (>= 4.0.0) redcarpet (3.6.0) - redis-client (0.19.1) + redis-client (0.20.0) connection_pool regexp_parser (2.9.0) reline (0.4.2) @@ -459,7 +459,7 @@ GEM concurrent-ruby (~> 1.0, >= 1.0.2) shoulda-matchers (6.1.0) activesupport (>= 5.2.0) - sidekiq (7.2.1) + sidekiq (7.2.2) concurrent-ruby (< 2) connection_pool (>= 2.3.0) rack (>= 2.2.4) From 3552a53e20b33eadd7d3291599250bfe08b8f0b9 Mon Sep 17 00:00:00 2001 From: Ross Chapman Date: Fri, 16 Feb 2024 17:52:25 -0800 Subject: [PATCH 12/99] =?UTF-8?q?=F0=9F=8C=B8=E2=9C=A8=20`SectionNavigatio?= =?UTF-8?q?n`=20and=20`Section`:=20Show=20`Section#hero=5Fimage`=20(#2188)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/components/card_component.html.erb | 16 +++++++++++----- app/components/card_component.rb | 17 ++++++++++++++++- .../marketplace/marketplace_component.html.erb | 4 ---- app/furniture/marketplace/product_component.rb | 6 +----- .../_section_navigation.html.erb | 7 +------ app/models/media.rb | 5 +++++ app/views/furnitures/_furniture.html.erb | 4 +--- app/views/rooms/_room.html.erb | 3 +++ 8 files changed, 38 insertions(+), 24 deletions(-) diff --git a/app/components/card_component.html.erb b/app/components/card_component.html.erb index dd83e6f4f..860ab3ed4 100644 --- a/app/components/card_component.html.erb +++ b/app/components/card_component.html.erb @@ -1,7 +1,14 @@ -
> - <% if header? %> - <%= header%> - <%- end %> +
> + <%- if head_image.present? %> +
+ <%= image_tag head_image, class: "rounded-t-lg w-full" %> +
+ <%= header %> +
+
+ <%- else %> + <%= header %> + <%- end %> <%# NOTE: content? is not always working as described, and is returning a proc in some cases rather than a boolean %> @@ -10,7 +17,6 @@ <%= content %>
<% end %> - <% if footer? %> <%= footer %> <% end %> diff --git a/app/components/card_component.rb b/app/components/card_component.rb index c305f9f8a..20ce1a2a2 100644 --- a/app/components/card_component.rb +++ b/app/components/card_component.rb @@ -1,5 +1,16 @@ class CardComponent < ApplicationComponent - HEADER_VARIANTS = {default: "p-2 sm:p-4", no_padding: ""} + attr_accessor :media + + def initialize(media: nil, **kwargs) + super(**kwargs) + + self.media = media + end + + HEADER_VARIANTS = { + default: "p-2 sm:p-4", + no_padding: "" + } renders_one :header, ->(variant: :default, &block) { content_tag(:header, class: HEADER_VARIANTS.fetch(variant), &block) } @@ -14,4 +25,8 @@ class CardComponent < ApplicationComponent classes += " rounded-t-none" unless content? || header? content_tag(:footer, class: classes, &block) } + + def head_image + media&.upload&.variant(resize_to_fill: Media::FULL_WIDTH_16_BY_9) + end end diff --git a/app/furniture/marketplace/marketplace_component.html.erb b/app/furniture/marketplace/marketplace_component.html.erb index ecdc2adaf..b85e316a7 100644 --- a/app/furniture/marketplace/marketplace_component.html.erb +++ b/app/furniture/marketplace/marketplace_component.html.erb @@ -1,9 +1,5 @@
- - <%= render delivery_area_component %> - <%= render Marketplace::MenuComponent.new(marketplace:, cart:) %> - <%= render cart %>
diff --git a/app/furniture/marketplace/product_component.rb b/app/furniture/marketplace/product_component.rb index 0463c7aa0..e7ebc4fff 100644 --- a/app/furniture/marketplace/product_component.rb +++ b/app/furniture/marketplace/product_component.rb @@ -13,12 +13,8 @@ def edit_button super(title: t("marketplace.products.edit.link_to", name: name), href: location(:edit)) end - # 16:9 of 1290 is 1290:725.625 - # We rounded up. - # @see https://www.ios-resolution.com/ - FULL_WIDTH_16_BY_9 = [1290, 726] def hero_image - product.photo.variant(resize_to_fill: FULL_WIDTH_16_BY_9) + product.photo.variant(resize_to_fill: Media::FULL_WIDTH_16_BY_9) end def tax_rates diff --git a/app/furniture/section_navigation/section_navigations/_section_navigation.html.erb b/app/furniture/section_navigation/section_navigations/_section_navigation.html.erb index 02024da27..e737fceec 100644 --- a/app/furniture/section_navigation/section_navigations/_section_navigation.html.erb +++ b/app/furniture/section_navigation/section_navigations/_section_navigation.html.erb @@ -1,13 +1,8 @@
<% policy_scope(section_navigation.rooms).each do |room| %> <%= link_to polymorphic_path(room.location), id: dom_id(room, :link_to), class: "group no-underline" do %> - <%= render CardComponent.new(classes: - "flex flex-col h-full justify-between") do |card| %> - - + <%= render CardComponent.new(media: room.hero_image, classes: "flex flex-col justify-between") do |card| %>

<%= room.description %>

- -

<%= room.name %> diff --git a/app/models/media.rb b/app/models/media.rb index 3d5ccce42..4ae1c9ad6 100644 --- a/app/models/media.rb +++ b/app/models/media.rb @@ -1,5 +1,10 @@ # The Media resource manages file uploads to the platform class Media < ApplicationRecord + # 16:9 of 1290 is 1290:725.625 + # We rounded up. + # @see https://www.ios-resolution.com/ + FULL_WIDTH_16_BY_9 = [1290, 726] + # NOTE: Dependent destroy is defaulted, but when it becomes important to # separate the destroy request and purge operations, let's add the # `dependent: :purge_later` option. diff --git a/app/views/furnitures/_furniture.html.erb b/app/views/furnitures/_furniture.html.erb index f3dbf33d6..28ef082ee 100644 --- a/app/views/furnitures/_furniture.html.erb +++ b/app/views/furnitures/_furniture.html.erb @@ -1,7 +1,6 @@ <% edit_href = nil %> <% edit_href = furniture.location(:edit) if furniture.configurable? %> <% edit_href = furniture.to_kind_class.location(:edit) if furniture.to_kind_class.has_controller_edit? %> -
<%- if local_assigns[:editing] %>
@@ -16,7 +15,6 @@ title: t('.edit_title', name: furniture.furniture.model_name.human.titleize), scheme: :secondary) %> <%- end %> - <%= render ButtonComponent.new( label: t('icons.destroy'), href: [furniture.room.space, furniture.room, furniture], @@ -24,7 +22,7 @@ method: :delete, confirm: t('.confirm_destroy'), scheme: :secondary) %> -

+
<%- if local_assigns[:include_form] %> <%= render partial: 'furnitures/form', locals: { furniture: furniture } %> diff --git a/app/views/rooms/_room.html.erb b/app/views/rooms/_room.html.erb index af2c9ac43..e8da5a578 100644 --- a/app/views/rooms/_room.html.erb +++ b/app/views/rooms/_room.html.erb @@ -1,6 +1,9 @@
+ <%- if room.hero_image&.upload.present? %> + <%= image_tag room.hero_image&.upload&.variant(resize_to_fill: Media::FULL_WIDTH_16_BY_9), class: "w-full" %> + <%- end %> <%= render room.gizmos.rank(:slot) %>
From 30a6753f570c2ed0622b02801a7d6dc7eec4374c Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Sat, 17 Feb 2024 09:52:57 -0800 Subject: [PATCH 13/99] =?UTF-8?q?=E2=9A=99=EF=B8=8F=20`Gizmos`:=20Support?= =?UTF-8?q?=20`ActionText`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/709 - https://github.com/zinc-collective/convene/pull/2200#pullrequestreview-1879198110 - https://github.com/zinc-collective/convene/pull/2211 Markdown is cool, but it's nerd-forward. ActionText is a much more human-friendly way of implementing rich text in Rails applications. I don't know enough about [Trix] to know if it will work in multi-user contexts; or how it will work with rich-embeds, ala Notion or Google Docs But I think it's a good-enough-default for now; and if we get to the point where embeddables or multi-user editing of a field is important we can figure that out. [Trix]: https://trix-editor.org/ --- app/assets/stylesheets/actiontext.css | 36 +++++++++++++++++++ .../stylesheets/application.postcss.css | 1 + app/javascript/application.js | 3 ++ app/views/active_storage/blobs/_blob.html.erb | 14 ++++++++ .../action_text/contents/_content.html.erb | 3 ++ ...9_create_action_text_tables.action_text.rb | 27 ++++++++++++++ db/schema.rb | 12 ++++++- package.json | 2 ++ spec/rails_helper.rb | 13 +++---- spec/spec_helper.rb | 7 ++-- yarn.lock | 14 +++++++- 11 files changed, 120 insertions(+), 12 deletions(-) create mode 100644 app/assets/stylesheets/actiontext.css create mode 100644 app/views/active_storage/blobs/_blob.html.erb create mode 100644 app/views/layouts/action_text/contents/_content.html.erb create mode 100644 db/migrate/20240216213129_create_action_text_tables.action_text.rb diff --git a/app/assets/stylesheets/actiontext.css b/app/assets/stylesheets/actiontext.css new file mode 100644 index 000000000..f325379b3 --- /dev/null +++ b/app/assets/stylesheets/actiontext.css @@ -0,0 +1,36 @@ +/* + * Provides a drop-in pointer for the default Trix stylesheet that will format the toolbar and + * the trix-editor content (whether displayed or under editing). Feel free to incorporate this + * inclusion directly in any other asset bundle and remove this file. + * + *= require trix +*/ + +/* + * We need to override trix.css’s image gallery styles to accommodate the + * element we wrap around attachments. Otherwise, + * images in galleries will be squished by the max-width: 33%; rule. +*/ +.trix-content .attachment-gallery > action-text-attachment, +.trix-content .attachment-gallery > .attachment { + flex: 1 0 33%; + padding: 0 0.5em; + max-width: 33%; +} + +.trix-content + .attachment-gallery.attachment-gallery--2 + > action-text-attachment, +.trix-content .attachment-gallery.attachment-gallery--2 > .attachment, +.trix-content + .attachment-gallery.attachment-gallery--4 + > action-text-attachment, +.trix-content .attachment-gallery.attachment-gallery--4 > .attachment { + flex-basis: 50%; + max-width: 50%; +} + +.trix-content action-text-attachment .attachment { + padding: 0 !important; + max-width: 100% !important; +} diff --git a/app/assets/stylesheets/application.postcss.css b/app/assets/stylesheets/application.postcss.css index 43128e8b4..ff9af79db 100644 --- a/app/assets/stylesheets/application.postcss.css +++ b/app/assets/stylesheets/application.postcss.css @@ -7,3 +7,4 @@ @import "./utilities.scss"; @import "./components.scss"; +@import "actiontext.css"; diff --git a/app/javascript/application.js b/app/javascript/application.js index 341c48ae1..d170874c4 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -15,3 +15,6 @@ ActiveStorage.start(); import "@hotwired/turbo-rails"; import "./controllers/index.js"; + +import "trix"; +import "@rails/actiontext"; diff --git a/app/views/active_storage/blobs/_blob.html.erb b/app/views/active_storage/blobs/_blob.html.erb new file mode 100644 index 000000000..49ba357dd --- /dev/null +++ b/app/views/active_storage/blobs/_blob.html.erb @@ -0,0 +1,14 @@ +
attachment--<%= blob.filename.extension %>"> + <% if blob.representable? %> + <%= image_tag blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]) %> + <% end %> + +
+ <% if caption = blob.try(:caption) %> + <%= caption %> + <% else %> + <%= blob.filename %> + <%= number_to_human_size blob.byte_size %> + <% end %> +
+
diff --git a/app/views/layouts/action_text/contents/_content.html.erb b/app/views/layouts/action_text/contents/_content.html.erb new file mode 100644 index 000000000..9e3c0d0df --- /dev/null +++ b/app/views/layouts/action_text/contents/_content.html.erb @@ -0,0 +1,3 @@ +
+ <%= yield -%> +
diff --git a/db/migrate/20240216213129_create_action_text_tables.action_text.rb b/db/migrate/20240216213129_create_action_text_tables.action_text.rb new file mode 100644 index 000000000..c18655343 --- /dev/null +++ b/db/migrate/20240216213129_create_action_text_tables.action_text.rb @@ -0,0 +1,27 @@ +# This migration comes from action_text (originally 20180528164100) +class CreateActionTextTables < ActiveRecord::Migration[6.0] + def change + # Use Active Record's configured type for primary and foreign keys + primary_key_type, foreign_key_type = primary_and_foreign_key_types + + create_table :action_text_rich_texts, id: primary_key_type do |t| + t.string :name, null: false + t.text :body, size: :long + t.references :record, null: false, polymorphic: true, index: false, type: foreign_key_type + + t.timestamps + + t.index [:record_type, :record_id, :name], name: "index_action_text_rich_texts_uniqueness", unique: true + end + end + + private + + def primary_and_foreign_key_types + config = Rails.configuration.generators + setting = config.options[config.orm][:primary_key_type] + primary_key_type = setting || :primary_key + foreign_key_type = setting || :bigint + [primary_key_type, foreign_key_type] + end +end diff --git a/db/schema.rb b/db/schema.rb index f32e29002..b9c08f79b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_02_07_040004) do +ActiveRecord::Schema[7.1].define(version: 2024_02_16_213129) do # These are extensions that must be enabled in order to support this database enable_extension "pgcrypto" enable_extension "plpgsql" @@ -30,6 +30,16 @@ "revoked", ], force: :cascade + create_table "action_text_rich_texts", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.string "name", null: false + t.text "body" + t.string "record_type", null: false + t.uuid "record_id", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["record_type", "record_id", "name"], name: "index_action_text_rich_texts_uniqueness", unique: true + end + create_table "active_storage_attachments", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name", null: false t.string "record_type", null: false diff --git a/package.json b/package.json index e2524551a..65f729313 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "@hotwired/stimulus-webpack-helpers": "^1.0.1", "@hotwired/turbo-rails": "^8.0.2", "@rails/actioncable": "^7.1.3", + "@rails/actiontext": "^7.1.3", "@rails/activestorage": "^7.1.3", "@sentry/browser": "^7.101.1", "@tailwindcss/forms": "^0.5.7", @@ -49,6 +50,7 @@ "postcss-import": "^16.0.1", "postcss-preset-env": "^9.3.0", "tailwindcss": "^3.4.1", + "trix": "^2.0.10", "webpack": "^5.76.0", "webpack-cli": "^5.1.4" } diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 08b3502c6..c6d16eb65 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -1,7 +1,7 @@ # This file is copied to spec/ when you run 'rails generate rspec:install' require "spec_helper" ENV["RAILS_ENV"] ||= "test" -require File.expand_path("../config/environment", __dir__) +require_relative "../config/environment" # Prevent database truncation if the environment is production abort("The Rails environment is running in production mode!") if Rails.env.production? require "rspec/rails" @@ -20,19 +20,20 @@ # directory. Alternatively, in the individual `*_spec.rb` files, manually # require only the support files necessary. # -Dir[Rails.root.join("spec", "support", "**", "*.rb")].sort.each { |f| require f } +Rails.root.glob("spec/support/**/*.rb").sort.each { |f| require f } # Checks for pending migrations and applies them before tests are run. # If you are not using ActiveRecord, you can remove these lines. begin ActiveRecord::Migration.maintain_test_schema! rescue ActiveRecord::PendingMigrationError => e - puts e.to_s.strip - exit 1 + abort e.to_s.strip end RSpec.configure do |config| # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures - config.fixture_paths = ["#{::Rails.root}/spec/fixtures"] + config.fixture_paths = [ + Rails.root.join("spec/fixtures") + ] # If you're not using ActiveRecord, or you'd prefer not to run each of your # examples within a transaction, remove the following line or assign false @@ -54,7 +55,7 @@ # end # # The different available types are documented in the features, such as in - # https://relishapp.com/rspec/rspec-rails/docs + # https://rspec.info/features/6-0/rspec-rails config.infer_spec_type_from_file_location! # Filter lines from Rails gems in backtraces. diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 0cc9fbf52..24c3d8ae7 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -22,7 +22,7 @@ # the additional setup, and require it from the spec files that actually need # it. # -# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration +# See https://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration RSpec.configure do |config| # rspec-expectations config goes here. You can use an alternate # assertion/expectation library such as wrong or the stdlib/minitest @@ -56,6 +56,7 @@ config.define_derived_metadata do |meta| meta[:aggregate_failures] = true end + # The settings below are suggested to provide a good initial experience # with RSpec, but feel free to customize to your heart's content. # # This allows you to limit a spec run to individual examples or groups @@ -72,9 +73,7 @@ # # # Limits the available syntax to the non-monkey patched syntax that is # # recommended. For more details, see: - # # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/ - # # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ - # # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode + # # https://rspec.info/features/3-12/rspec-core/configuration/zero-monkey-patching-mode/ # config.disable_monkey_patching! # # # Many RSpec users commonly either run the entire suite or an individual diff --git a/yarn.lock b/yarn.lock index f97588e96..2ba3a4503 100644 --- a/yarn.lock +++ b/yarn.lock @@ -373,7 +373,14 @@ resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-7.1.3.tgz#4db480347775aeecd4dde2405659eef74a458881" integrity sha512-ojNvnoZtPN0pYvVFtlO7dyEN9Oml1B6IDM+whGKVak69MMYW99lC2NOWXWeE3bmwEydbP/nn6ERcpfjHVjYQjA== -"@rails/activestorage@^7.1.3": +"@rails/actiontext@^7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@rails/actiontext/-/actiontext-7.1.3.tgz#1b7aa2732c45cbc8a5708c54457c16fb81ce3da3" + integrity sha512-jwY0LJ0xpyIWkYs6BUMY4RcwVA3jZ+bFDPvv5KpKQnw+24BhJVtBLqF0XIsROaRCyabakueRyVuSG9NNhnLTvA== + dependencies: + "@rails/activestorage" ">= 7.1.0-alpha" + +"@rails/activestorage@>= 7.1.0-alpha", "@rails/activestorage@^7.1.3": version "7.1.3" resolved "https://registry.yarnpkg.com/@rails/activestorage/-/activestorage-7.1.3.tgz#e83ece6c5fd94b3ddf30a8cf3b8f78cad049e596" integrity sha512-B+RFYAU8vdTPFg0IJcRp2ey0Qw9hpcUOqHHcWqftDJ76ZMBi9+m/UUeMJlNsSd0l9eD+1HLlFSo1X//cY4yiDw== @@ -2109,6 +2116,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +trix@^2.0.10: + version "2.0.10" + resolved "https://registry.yarnpkg.com/trix/-/trix-2.0.10.tgz#43f1ff7a94c42f708bd2bad3a2783147c0583698" + integrity sha512-a24w8rNVL+g9nDDdiDZwQVQ9AEWiXAmk9r0ZbwimczJi/xlaM+m0d6upAi0vysDNu0HsiYDFS1/VrR7HbX0Aig== + ts-interface-checker@^0.1.9: version "0.1.13" resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" From 6b72cfc424b500fb13b2a116ca0c67d5a6b0c253 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Sat, 17 Feb 2024 10:00:24 -0800 Subject: [PATCH 14/99] =?UTF-8?q?=F0=9F=8C=B8=20`Section#hero=5Fimage`:=20?= =?UTF-8?q?takes=20less=20screen=20real-estate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/1961 - https://github.com/zinc-collective/convene/pull/2194 This brings the hero image to the Section, and makes it take up a reasonable amount of space. --- app/assets/stylesheets/base/layout.scss | 2 +- app/models/media.rb | 1 + app/views/rooms/_room.html.erb | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/assets/stylesheets/base/layout.scss b/app/assets/stylesheets/base/layout.scss index ab5b3b3f8..fd0b29baf 100644 --- a/app/assets/stylesheets/base/layout.scss +++ b/app/assets/stylesheets/base/layout.scss @@ -5,7 +5,7 @@ } main { - @apply mx-2 flex-1 flex flex-col; + @apply flex-1 flex flex-col; > :last-child { @apply mb-2; } diff --git a/app/models/media.rb b/app/models/media.rb index 4ae1c9ad6..ab4d5fabd 100644 --- a/app/models/media.rb +++ b/app/models/media.rb @@ -4,6 +4,7 @@ class Media < ApplicationRecord # We rounded up. # @see https://www.ios-resolution.com/ FULL_WIDTH_16_BY_9 = [1290, 726] + FULL_WIDTH_SHORT = [1728, 480] # NOTE: Dependent destroy is defaulted, but when it becomes important to # separate the destroy request and purge operations, let's add the diff --git a/app/views/rooms/_room.html.erb b/app/views/rooms/_room.html.erb index e8da5a578..74e76616d 100644 --- a/app/views/rooms/_room.html.erb +++ b/app/views/rooms/_room.html.erb @@ -1,9 +1,9 @@ +<%- if room.hero_image&.upload.present? %> + <%= image_tag room.hero_image&.upload&.variant(resize_to_fill: Media::FULL_WIDTH_SHORT), class: "w-full" %> +<%- end %>
- <%- if room.hero_image&.upload.present? %> - <%= image_tag room.hero_image&.upload&.variant(resize_to_fill: Media::FULL_WIDTH_16_BY_9), class: "w-full" %> - <%- end %> <%= render room.gizmos.rank(:slot) %>
From f9c99c2ac576118f07da962efd9c26ce7efc5cef Mon Sep 17 00:00:00 2001 From: Zee Spencer <50284+zspencer@users.noreply.github.com> Date: Sun, 18 Feb 2024 10:18:12 -0800 Subject: [PATCH 15/99] =?UTF-8?q?=F0=9F=8C=B8=20`Marketplace`:=20De-italic?= =?UTF-8?q?ize-all-things?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/831 - https://github.com/zinc-collective/convene/issues/1325 - https://github.com/zinc-collective/convene/issues/2153 - https://github.com/zinc-collective/convene/issues/2215 - https://github.com/zinc-collective/convene/issues/1137 - https://github.com/zinc-collective/convene/issues/2169 @anaulin has mentioned at least twice how she despises italics; but no one has taken on the task. So I did a quick skim-through for all the `italic` that lives within the `Marketplace`, and removed them in place of: - Making text size smaller - Making text color grayer --- .../marketplace/cart/deliveries/_delivery.html.erb | 4 ++-- app/furniture/marketplace/delivery_area_component.html.erb | 4 ++-- app/furniture/marketplace/menu/product_component.html.erb | 2 +- .../marketplace/order/email_receipt_component.html.erb | 2 +- app/furniture/marketplace/orders/_order.html.erb | 6 +++--- app/furniture/marketplace/product_component.html.erb | 6 +++--- app/furniture/marketplace/tax_rate_component.html.erb | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/furniture/marketplace/cart/deliveries/_delivery.html.erb b/app/furniture/marketplace/cart/deliveries/_delivery.html.erb index 0a2b34af7..9a1ef53b9 100644 --- a/app/furniture/marketplace/cart/deliveries/_delivery.html.erb +++ b/app/furniture/marketplace/cart/deliveries/_delivery.html.erb @@ -4,7 +4,7 @@

Delivering to:

<%= render(delivery.delivery_area) %>
- <%= render(Marketplace::Cart::DeliveryExpectationsComponent.new(cart: delivery.cart)) %> + <%= render(Marketplace::Cart::DeliveryExpectationsComponent.new(cart: delivery.cart)) %>

@@ -13,7 +13,7 @@ <%= number_to_phone(delivery.contact_phone_number) %>
<%= delivery.delivery_address %>
- <%= delivery.delivery_notes %> + <%= delivery.delivery_notes %>

<%= link_to(t("marketplace.cart.deliveries.edit.link_to"), delivery.location(:edit)) %> diff --git a/app/furniture/marketplace/delivery_area_component.html.erb b/app/furniture/marketplace/delivery_area_component.html.erb index 10b2363d7..1539b282a 100644 --- a/app/furniture/marketplace/delivery_area_component.html.erb +++ b/app/furniture/marketplace/delivery_area_component.html.erb @@ -6,7 +6,7 @@ <%- if delivery_area.archived? %> -

(archived)

+

(archived)

<%- end %> <%- end %> @@ -15,7 +15,7 @@ <%= render Marketplace::Cart::DeliveryExpectationsComponent.new(order_by: delivery_area.order_by, delivery_window: delivery_area.delivery_window, cart: example_cart) %>
-
+
<%= price %>
diff --git a/app/furniture/marketplace/menu/product_component.html.erb b/app/furniture/marketplace/menu/product_component.html.erb index d9f610162..1c05632eb 100644 --- a/app/furniture/marketplace/menu/product_component.html.erb +++ b/app/furniture/marketplace/menu/product_component.html.erb @@ -16,7 +16,7 @@ <% end %> -
+
<%= description %>
diff --git a/app/furniture/marketplace/order/email_receipt_component.html.erb b/app/furniture/marketplace/order/email_receipt_component.html.erb index 05cdef8fa..8feba2698 100644 --- a/app/furniture/marketplace/order/email_receipt_component.html.erb +++ b/app/furniture/marketplace/order/email_receipt_component.html.erb @@ -10,7 +10,7 @@

<%= link_to "Order #{order.id}", order.persisted? ? order.location : "#" %>

-

+

<%= placed_at %>

diff --git a/app/furniture/marketplace/orders/_order.html.erb b/app/furniture/marketplace/orders/_order.html.erb index 861cdc944..0203aee07 100644 --- a/app/furniture/marketplace/orders/_order.html.erb +++ b/app/furniture/marketplace/orders/_order.html.erb @@ -14,10 +14,10 @@ <%= humanized_money_with_symbol(ordered_product.price) %> <%- if ordered_product.tax_amount.positive? %> - + <%= ordered_product.tax_rates.map(&:label).to_sentence %> - <%= humanized_money_with_symbol(ordered_product.tax_amount) %> + <%= humanized_money_with_symbol(ordered_product.tax_amount) %> <%- end %> <%- end %>
@@ -35,7 +35,7 @@
<%- order.events.each do |event| %>

<%= event.description%>

-

<%= l(event.created_at, format: :long_ordinal) %>

+

<%= l(event.created_at, format: :long_ordinal) %>

<%- end %>
diff --git a/app/furniture/marketplace/product_component.html.erb b/app/furniture/marketplace/product_component.html.erb index aa3c4b5c5..07067b068 100644 --- a/app/furniture/marketplace/product_component.html.erb +++ b/app/furniture/marketplace/product_component.html.erb @@ -6,7 +6,7 @@
<%= render Marketplace::Product::TitleComponent.new(product:) %> <%- if product.archived? %> - (archived) + (archived) <%- end %>
@@ -17,12 +17,12 @@ <%- end %> <%- end %> -
+
<%= description %>
-
+
<%= tax_rates %>

<%= price %>

diff --git a/app/furniture/marketplace/tax_rate_component.html.erb b/app/furniture/marketplace/tax_rate_component.html.erb index 516f974d0..9da59c56c 100644 --- a/app/furniture/marketplace/tax_rate_component.html.erb +++ b/app/furniture/marketplace/tax_rate_component.html.erb @@ -3,7 +3,7 @@

<%= label %>

<%- end %> -
+
<%= rate %>
From bd4a37e4aa81cb594728154fccd0568b7e2605b7 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:25:38 -0800 Subject: [PATCH 16/99] =?UTF-8?q?=F0=9F=8C=B8=20`Space`:=20De-italicize=20?= =?UTF-8?q?help-text=20on=20`Space#edit`=20(#2223)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/1364 - https://github.com/zinc-collective/convene/issues/252 - https://github.com/zinc-collective/convene/issues/1513 Remove Moar italics! MOAR! --- app/views/spaces/_agreements.html.erb | 2 +- app/views/spaces/_utilities.html.erb | 2 +- app/views/spaces/_website_settings.html.erb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/spaces/_agreements.html.erb b/app/views/spaces/_agreements.html.erb index 64a86765c..89e9124f3 100644 --- a/app/views/spaces/_agreements.html.erb +++ b/app/views/spaces/_agreements.html.erb @@ -1,7 +1,7 @@ <%= render CardComponent.new(classes: "mt-3 gap-y-3") do %>

<%= t('space.agreements.index.link_to') %>

-

<%= t('space.agreements.help_text') %>

+

<%= t('space.agreements.help_text') %>

<%- space.agreements.each do |agreement| %> diff --git a/app/views/spaces/_utilities.html.erb b/app/views/spaces/_utilities.html.erb index 08b70f036..ebfd4f8b7 100644 --- a/app/views/spaces/_utilities.html.erb +++ b/app/views/spaces/_utilities.html.erb @@ -1,7 +1,7 @@ <%= render CardComponent.new(classes: "mt-3 gap-y-3") do %>

<%= t('utilities.index.link_to') %>

-

<%= t('utilities.help_text') %>

+

<%= t('utilities.help_text') %>

    diff --git a/app/views/spaces/_website_settings.html.erb b/app/views/spaces/_website_settings.html.erb index 9a50cd10a..cab47dd50 100644 --- a/app/views/spaces/_website_settings.html.erb +++ b/app/views/spaces/_website_settings.html.erb @@ -1,7 +1,7 @@ <%= render CardComponent.new(classes: "mt-3 gap-y-3") do %>

    <%= t('website_settings.index.link_to') %>

    -

    <%= t('website_settings.help_text') %>

    +

    <%= t('website_settings.help_text') %>

    <%= form_with model: space.location, data: { turbo: false } do | web_settings_form | %> From fbbe79da47daa0585e2d90b6ddd18e2b6099bba1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:25:55 +0000 Subject: [PATCH 17/99] Bump postcss-preset-env from 9.3.0 to 9.4.0 (#2227) --- package.json | 2 +- yarn.lock | 836 +++++++++++++++++++++++++++------------------------ 2 files changed, 439 insertions(+), 399 deletions(-) diff --git a/package.json b/package.json index 65f729313..176fcdfc4 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "postcss-cli": "^11.0.0", "postcss-flexbugs-fixes": "^5.0.2", "postcss-import": "^16.0.1", - "postcss-preset-env": "^9.3.0", + "postcss-preset-env": "^9.4.0", "tailwindcss": "^3.4.1", "trix": "^2.0.10", "webpack": "^5.76.0", diff --git a/yarn.lock b/yarn.lock index 2ba3a4503..95fcaec3d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,268 +7,294 @@ resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== -"@csstools/cascade-layer-name-parser@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.5.tgz#c4d276e32787651df0007af22c9fa70d9c9ca3c2" - integrity sha512-v/5ODKNBMfBl0us/WQjlfsvSlYxfZLhNMVIsuCPib2ulTwGKYbKJbwqw671+qH9Y4wvWVnu7LBChvml/wBKjFg== +"@csstools/cascade-layer-name-parser@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.8.tgz#24d841d80e78f6c2970a36d53e6b58e8fcea41f6" + integrity sha512-xHxXavWvXB5nAA9IvZtjEzkONM3hPXpxqYK4cEw60LcqPiFjq7ZlEFxOyYFPrG4UdANKtnucNtRVDy7frjq6AA== -"@csstools/color-helpers@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-3.0.2.tgz#6571d289af8bfcc3a8d75357b35e6d17a8ba6848" - integrity sha512-NMVs/l7Y9eIKL5XjbCHEgGcG8LOUT2qVcRjX6EzkCdlvftHVKr2tHIPzHavfrULRZ5Q2gxrJ9f44dAlj6fX97Q== - -"@csstools/css-calc@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-1.1.4.tgz#70bf4c5b379cdc256d3936bf4a21e3a3454a3d68" - integrity sha512-ZV1TSmToiNcQL1P3hfzlzZzA02mmVkVmXGaUDUqpYUG84PmLhVSZpKX+KfxAuOcK7de04UXSQPBrAvaya6iiGg== - -"@csstools/css-color-parser@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-1.4.0.tgz#c8517457dcb6ad080848b1583aa029ab61221ce8" - integrity sha512-SlGd8E6ron24JYQPQAIzu5tvmWi1H4sDKTdA7UDnwF45oJv7AVESbOlOO1YjfBhrQFuvLWUgKiOY9DwGoAxwTA== - dependencies: - "@csstools/color-helpers" "^3.0.2" - "@csstools/css-calc" "^1.1.4" - -"@csstools/css-parser-algorithms@2.3.2", "@csstools/css-parser-algorithms@^2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz#1e0d581dbf4518cb3e939c3b863cb7180c8cedad" - integrity sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA== - -"@csstools/css-tokenizer@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz#9dc431c9a5f61087af626e41ac2a79cce7bb253d" - integrity sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg== - -"@csstools/media-query-list-parser@^2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz#94bc8b3c3fd7112a40b7bf0b483e91eba0654a0f" - integrity sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ== - -"@csstools/postcss-cascade-layers@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.1.tgz#43d12cb0ffe9ab461bc41143dc554c6e1cb633e6" - integrity sha512-UYFuFL9GgVnftg9v7tBvVEBRLaBeAD66euD+yYy5fYCUld9ZIWTJNCE30hm6STMEdt6FL5xzeVw1lAZ1tpvUEg== +"@csstools/color-helpers@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-4.0.0.tgz#a1d6ffcefe5c1d389cbcca15f46da3cdaf241443" + integrity sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w== + +"@csstools/css-calc@^1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-1.1.7.tgz#89b5cde81ecb4686d9abd66b7eb54015cf39c442" + integrity sha512-+7bUzB5I4cI97tKmBJA8ilTl/YRo6VAOdlrnd/4x2NyK60nvYurGKa5TZpE1zcgIrTC97iJRE0/V65feyFytuw== + +"@csstools/css-color-parser@^1.5.2": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-1.5.2.tgz#4fdf8e23960b4724913f7cbfd4f413eb8f35724b" + integrity sha512-5GEkuuUxD5dael3xoWjyf7gAPAi4pwm8X8JW/nUMhxntGY4Wo4Lp7vKlex4V5ZgTfAoov14rZFsZyOantdTatg== + dependencies: + "@csstools/color-helpers" "^4.0.0" + "@csstools/css-calc" "^1.1.7" + +"@csstools/css-parser-algorithms@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.0.tgz#b45d3c7cbdd4214261724c82f96e33c746fedd58" + integrity sha512-YfEHq0eRH98ffb5/EsrrDspVWAuph6gDggAE74ZtjecsmyyWpW768hOyiONa8zwWGbIWYfa2Xp4tRTrpQQ00CQ== + +"@csstools/css-tokenizer@^2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.2.3.tgz#b099d543ea57b64f495915a095ead583866c50c6" + integrity sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg== + +"@csstools/media-query-list-parser@^2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.8.tgz#36157fbe54ea30d5f2b1767c69fcdf92048a7b1d" + integrity sha512-DiD3vG5ciNzeuTEoh74S+JMjQDs50R3zlxHnBnfd04YYfA/kh2KiBCGhzqLxlJcNq+7yNQ3stuZZYLX6wK/U2g== + +"@csstools/postcss-cascade-layers@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.3.tgz#2805dbb8dec661101928298b2e16599edf3c2bea" + integrity sha512-RbkQoOH23yGhWVetgBTwFgIOHEyU2tKMN7blTz/YAKKabR6tr9pP7mYS23Q9snFY2hr8WSaV8Le64KdM9BtUSA== dependencies: - "@csstools/selector-specificity" "^3.0.0" + "@csstools/selector-specificity" "^3.0.2" postcss-selector-parser "^6.0.13" -"@csstools/postcss-color-function@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-3.0.7.tgz#646b0c3e3805e4bb9c1e240bce807f1cc6ccdfea" - integrity sha512-/PIB20G1TPCXmQlaJLWIYzTZRZpj6csT4ijgnshIj/kcmniIRroAfDa0xSWnfuO1eNo0NptIaPU7jzUukWn55Q== +"@csstools/postcss-color-function@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-3.0.10.tgz#708d34f24daf5ff9978d2d4e8d3413f638a41158" + integrity sha512-jxiXmSl4ZYX8KewFjL5ef6of9uW73VkaHeDb2tqb5q4ZDPYxjusNX1KJ8UXY8+7ydqS5QBo42tVMrSMGy+rDmw== dependencies: - "@csstools/css-color-parser" "^1.4.0" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/postcss-progressive-custom-properties" "^3.0.2" + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" -"@csstools/postcss-color-mix-function@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.7.tgz#0fc9b638bd6b9578a52a50e3af66109ae52dc2b6" - integrity sha512-57/g8aGo5eKFjEeJMiRKh8Qq43K2rCyk5ZZTvJ34TNl4zUtYU5DvLkIkOnhCtL8/a4z9oMA42aOnFPddRrScUQ== +"@csstools/postcss-color-mix-function@^2.0.10": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.10.tgz#fd86d1f3b334fb59a3558d33f121ce5dff758da8" + integrity sha512-zeD856+FDCUjB077pPS+Z9OnTQnqpiJrao3TW+sasCb/gJ3vZCX7sRSRFsRUo0/MntTtJu9hkKv9eMkFmfjydA== dependencies: - "@csstools/css-color-parser" "^1.4.0" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/postcss-progressive-custom-properties" "^3.0.2" + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" -"@csstools/postcss-exponential-functions@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.1.tgz#0d938f58ba5ac5c362e09ad22b5768b04ee82650" - integrity sha512-ZLK2iSK4DUxeypGce2PnQSdYugUqDTwxnhNiq1o6OyKMNYgYs4eKbvEhFG8JKr1sJWbeqBi5jRr0017l2EWVvg== +"@csstools/postcss-exponential-functions@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.4.tgz#c8c3773d4f761428717b80803302722ed2f849f1" + integrity sha512-frMf0CFVnZoGEKAHlxLy3s4g/tpjyFn5+A+h895UJNm9Uc+ewGT7+EeK7Kh9IHH4pD4FkaGW1vOQtER00PLurQ== dependencies: - "@csstools/css-calc" "^1.1.4" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" + "@csstools/css-calc" "^1.1.7" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" -"@csstools/postcss-font-format-keywords@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.0.tgz#9ca3a3ca67122862addf8a1c0c61a6db02dea1cc" - integrity sha512-ntkGj+1uDa/u6lpjPxnkPcjJn7ChO/Kcy08YxctOZI7vwtrdYvFhmE476dq8bj1yna306+jQ9gzXIG/SWfOaRg== +"@csstools/postcss-font-format-keywords@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.2.tgz#b504cfc60588ac39fa5d1c67ef3da802b1bd7701" + integrity sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw== dependencies: + "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-gamut-mapping@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.0.tgz#a23d2c4bd2bd89b2ed3c5d2e062c069ad18745e0" - integrity sha512-6UQyK8l9YaG5Ao5rBDcCnKHrLsHiQ1E0zeFQuqDJqEtinVzAPb/MwSw3TenZXL1Rnd7th3tb+4CBFHBXdW5tbQ== - dependencies: - "@csstools/css-color-parser" "^1.4.0" - "@csstools/css-parser-algorithms" "2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - -"@csstools/postcss-gradients-interpolation-method@^4.0.7": - version "4.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.7.tgz#e5c2628157fb9dea9aa8cd9c84fdcc2a842af91b" - integrity sha512-GT1CzE/Tyr/ei4j5BwKESkHAgg+Gzys/0mAY7W+UiR+XrcYk5hDbOrE/YJIx1rflfO/7La1bDoZtA0YnLl4qNA== +"@csstools/postcss-gamut-mapping@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.3.tgz#e5323fb1bf46f6d32d760e98028a8e9da9d8fe4b" + integrity sha512-P0+ude1KyCy9LXOe2pHJmpcXK4q/OQbr2Sn2wQSssMw0rALGmny2MfHiCqEu8n6mf2cN6lWDZdzY8enBk8WHXQ== + dependencies: + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + +"@csstools/postcss-gradients-interpolation-method@^4.0.10": + version "4.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.10.tgz#0228a9a2c652c1976358f9731bea0ea4de4bf979" + integrity sha512-PwKOxVuX8lo52bPtPeKjaIp6oH2EzhcBxCndRcvGZKsqZYQ35k9A5G4yihZ+wp7PoxPqDNiXuhQsvQG2lqMpOA== + dependencies: + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" + +"@csstools/postcss-hwb-function@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.9.tgz#15c5b8d43cffe62283b6175494188d6957712d91" + integrity sha512-S3/Z+mGHWIKAex7DLsHFDiku5lBEK34avT2My6sGPNCXB38TZjrKI0rd7JdN9oulem5sn+CU7oONyIftui24oQ== + dependencies: + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" + +"@csstools/postcss-ic-unit@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.4.tgz#9f4bffaed6ece2a79e1e15fbd7ba6aea8d61c851" + integrity sha512-OB6ojl33/TQHhjVx1NI+n3EnYbdUM6Q/mSUv3WFATdcz7IrH/CmBaZt7P1R6j1Xdp58thIa6jm4Je7saGs+2AA== dependencies: - "@csstools/css-color-parser" "^1.4.0" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/postcss-progressive-custom-properties" "^3.0.2" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" + postcss-value-parser "^4.2.0" -"@csstools/postcss-hwb-function@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.6.tgz#7d56583c6c8607352718a802f87e51edf4f9365e" - integrity sha512-uQgWt2Ho2yy2S6qthWY7mD5v57NKxi6dD1NB8nAybU5bJSsm+hLXRGm3/zbOH4xNrqO3Cl60DFSNlSrUME3Xjg== - dependencies: - "@csstools/css-color-parser" "^1.4.0" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" +"@csstools/postcss-initial@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-1.0.1.tgz#5aa378de9bfd0e6e377433f8986bdecf579e1268" + integrity sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg== -"@csstools/postcss-ic-unit@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.2.tgz#08b62de51a3636ba40ba8e77cef4619a6e636aac" - integrity sha512-n28Er7W9qc48zNjJnvTKuVHY26/+6YlA9WzJRksIHiAWOMxSH5IksXkw7FpkIOd+jLi59BMrX/BWrZMgjkLBHg== +"@csstools/postcss-is-pseudo-class@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.5.tgz#c2b9a89e8c2f4cb80c3587dae1ed544447bbd16e" + integrity sha512-qG3MI7IN3KY9UwdaE9E7G7sFydscVW7nAj5OGwaBP9tQPEEVdxXTGI+l1ZW5EUpZFSj+u3q/22fH5+8HI72+Bg== dependencies: - "@csstools/postcss-progressive-custom-properties" "^3.0.2" - postcss-value-parser "^4.2.0" + "@csstools/selector-specificity" "^3.0.2" + postcss-selector-parser "^6.0.13" -"@csstools/postcss-initial@^1.0.0": +"@csstools/postcss-light-dark-function@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-1.0.0.tgz#e35ec12143a654b384fb81623970deeacedb0769" - integrity sha512-1l7iHHjIl5qmVeGItugr4ZOlCREDP71mNKqoEyxlosIoiu3Os1nPWMHpuCvDLCLiWI/ONTOg3nzJh7gwHOrqUA== - -"@csstools/postcss-is-pseudo-class@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.3.tgz#d8b04ff5eefb1a9bc8f1ab99b8f3b6b04b704480" - integrity sha512-/dt5M9Ty/x3Yiq0Nm/5PJJzwkVFchJgdjKVnryBPtoMCb9ohb/nDIJOwr/Wr3hK3FDs1EA1GE6PyRYsUmQPS8Q== + resolved "https://registry.yarnpkg.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-1.0.0.tgz#31407d716f0083bb386097dc07a084b09356d73d" + integrity sha512-KHo633V16DGo6tmpr1ARAwO73CPBNmDI3PfSQYe7ZBMiv60WEizbcEroK75fHjxKYJ4tj9uCCzp5sYG4cEUqqw== dependencies: - "@csstools/selector-specificity" "^3.0.0" - postcss-selector-parser "^6.0.13" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" -"@csstools/postcss-logical-float-and-clear@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.0.tgz#15e1b5d16dce01ad1e676167d0909e3958234eb5" - integrity sha512-Wki4vxsF6icRvRz8eF9bPpAvwaAt0RHwhVOyzfoFg52XiIMjb6jcbHkGxwpJXP4DVrnFEwpwmrz5aTRqOW82kg== +"@csstools/postcss-logical-float-and-clear@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz#c70ed8293cc376b1572bf56794219f54dc58c54d" + integrity sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA== -"@csstools/postcss-logical-overflow@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.0.tgz#dbc18226f6cc6a83981184564ed9229a860f6033" - integrity sha512-cIrZ8f7bGGvr+W53nEuMspcwaeaI2YTmz6LZ4yiAO5z14/PQgOOv+Pn+qjvPOPoadeY2BmpaoTzZKvdAQuM17w== +"@csstools/postcss-logical-overflow@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.1.tgz#d14631369f43ef989c7e32f051ddb6952a8ce35c" + integrity sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw== -"@csstools/postcss-logical-overscroll-behavior@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.0.tgz#93f60a71f75dab89b471166e6c3d44c8ef1b76b8" - integrity sha512-e89S2LWjnxf0SB2wNUAbqDyFb/Fow/tlOe1XqOLbNx4rf3LrQokM9qldVx7sarnddml3ORE5LDUmlKpPOOeJTA== +"@csstools/postcss-logical-overscroll-behavior@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.1.tgz#9305a6f0d08bb7b5f1a228272951f72d3bf9d44f" + integrity sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ== -"@csstools/postcss-logical-resize@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.0.tgz#751bd5aab335c9973e346e3edacb2a0a16fa8296" - integrity sha512-lCQ1aX8c5+WI4t5EoYf3alTzJNNocMqTb+u1J9CINdDhFh1fjovqK+0aHalUHsNstZmzFPNzIkU4Mb3eM9U8SA== +"@csstools/postcss-logical-resize@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.1.tgz#a46c1b51055db96fb63af3bfe58909c773aea377" + integrity sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-logical-viewport-units@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.3.tgz#95e7195660bb8b05cd46f13d0495fe427e2db988" - integrity sha512-xeVxqND5rlQyqLGdH7rX34sIm/JbbQKxpKQP8oD1YQqUHHCLQR9NUS57WqJKajxKN6AcNAMWJhb5LUH5RfPcyA== +"@csstools/postcss-logical-viewport-units@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.6.tgz#1f91e865e73f5d135038c519957a3b95ffe552ad" + integrity sha512-6hV0ngZh8J7HqNY3kyt+z5ABN/XE18qvrU7ne4YSkKfltrWDnQgGiW/Q+h7bdQz8/W5juAefcdCCAJUIBE7erg== dependencies: - "@csstools/css-tokenizer" "^2.2.1" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/utilities" "^1.0.0" -"@csstools/postcss-media-minmax@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.0.tgz#8d46317b6686cd49e05870ae3c8993e49a54149c" - integrity sha512-t5Li/DPC5QmW/6VFLfUvsw/4dNYYseWR0tOXDeJg/9EKUodBgNawz5tuk5vYKtNvoj+Q08odMuXcpS5YJj0AFA== +"@csstools/postcss-media-minmax@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.3.tgz#87ff7af309916b36fe00e1f4ad6e03a5c16e74b9" + integrity sha512-W9AFRQSLvT+Dxtp20AewzGTUxzkJ21XSKzqRALwQdAv0uJGXkR76qgdhkoX0L/tcV4gXtgDfVtGYL/x2Nz/M5Q== dependencies: - "@csstools/css-calc" "^1.1.4" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/media-query-list-parser" "^2.1.5" + "@csstools/css-calc" "^1.1.7" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/media-query-list-parser" "^2.1.8" -"@csstools/postcss-media-queries-aspect-ratio-number-values@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.3.tgz#a74355c828a13ede8e8390bcf2701a34a60696b3" - integrity sha512-IPL8AvnwMYW+cWtp+j8cW3MFN0RyXNT4hLOvs6Rf2N+NcbvXhSyKxZuE3W9Cv4KjaNoNoGx1d0UhT6tktq6tUw== +"@csstools/postcss-media-queries-aspect-ratio-number-values@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.6.tgz#ca6dae6949bfb0f274a4029776614720e243acbe" + integrity sha512-awc2qenSDvx6r+w6G9xxENp+LsbvHC8mMMV23KYmk4pR3YL8JxeKPDSiDhmqd93FQ9nNNDc/CaCQEcvP+GV4rw== dependencies: - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/media-query-list-parser" "^2.1.5" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/media-query-list-parser" "^2.1.8" -"@csstools/postcss-nested-calc@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.0.tgz#b9069f5e1c2ea08de3840a5922e39af4e0ecf4b1" - integrity sha512-HsB66aDWAouOwD/GcfDTS0a7wCuVWaTpXcjl5VKP0XvFxDiU+r0T8FG7xgb6ovZNZ+qzvGIwRM+CLHhDgXrYgQ== +"@csstools/postcss-nested-calc@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.2.tgz#72ae4d087987ab5596397f5c2e5db4403b81c4a9" + integrity sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA== dependencies: + "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-normalize-display-values@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.1.tgz#8bacd4fa20434de67a7b1f4f64f6e4476922a98d" - integrity sha512-nUvRxI+ALJwkxZdPU4EDyuM380vP91sAGvI3jAOHs/sr3jfcCOzLkY6xKI1Mr526kZ3RivmMoYM/xq+XFyE/bw== +"@csstools/postcss-normalize-display-values@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.2.tgz#9013e6ade2fbd4cd725438c9ff0b1000062cf20d" + integrity sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.7.tgz#4daff9e85b7f68ea744f2898f73e81d6fe47c0d7" - integrity sha512-vBFTQD3CARB3u/XIGO44wWbcO7xG/4GsYqJlcPuUGRSK8mtxes6n4vvNFlIByyAZy2k4d4RY63nyvTbMpeNTaQ== +"@csstools/postcss-oklab-function@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.10.tgz#9f230ce28a266de8a8e264025aebce41313d4053" + integrity sha512-s9trs1c+gUMtaTtwrrIpdVQkUbRuwi6bQ9rBHaqwt4kd3kEnEYfP85uLY1inFx6Rt8OM2XVg3PSYbfnFSAO51A== dependencies: - "@csstools/css-color-parser" "^1.4.0" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/postcss-progressive-custom-properties" "^3.0.2" + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" -"@csstools/postcss-progressive-custom-properties@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.2.tgz#0c18152160a425950cb69a12a9add55af4f688e7" - integrity sha512-YEvTozk1SxnV/PGL5DllBVDuLQ+jiQhyCSQiZJ6CwBMU5JQ9hFde3i1qqzZHuclZfptjrU0JjlX4ePsOhxNzHw== +"@csstools/postcss-progressive-custom-properties@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.1.0.tgz#e4d6143b3ba50d1f7435932fd112db31e18f05af" + integrity sha512-Mfb1T1BHa6pktLI+poMEHI7Q+VYvAsdwJZPFsSkIB2ZUsawCiPxXLw06BKSVPITxFlaY/FEUzfpyOTfX9YCE2w== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-relative-color-syntax@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.7.tgz#1d017aa25e3cda513cf00401a91899e9d3b83659" - integrity sha512-2AiFbJSVF4EyymLxme4JzSrbXykHolx8DdZECHjYKMhoulhKLltx5ccYgtrK3BmXGd3v3nJrWFCc8JM8bjuiOg== +"@csstools/postcss-relative-color-syntax@^2.0.10": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.10.tgz#07b9484c841623e32777bd7becac7679ce62c08d" + integrity sha512-IkTIk9Eq2VegSN4lgsljGY8boyfX3l3Pw58e+R9oyPe/Ye7r3NwuiQ3w0nkXoQ+RC+d240V6n7eZme2mEPqQvg== dependencies: - "@csstools/css-color-parser" "^1.4.0" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/postcss-progressive-custom-properties" "^3.0.2" + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" -"@csstools/postcss-scope-pseudo-class@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.0.tgz#23f32181b7de9a33e7c7c71f7620b78284955b82" - integrity sha512-GFNVsD97OuEcfHmcT0/DAZWAvTM/FFBDQndIOLawNc1Wq8YqpZwBdHa063Lq+Irk7azygTT+Iinyg3Lt76p7rg== +"@csstools/postcss-scope-pseudo-class@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.1.tgz#c5454ea2fb3cf9beaf212d3a631a5c18cd4fbc14" + integrity sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A== dependencies: postcss-selector-parser "^6.0.13" -"@csstools/postcss-stepped-value-functions@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.2.tgz#a902395efbf9c5c30a6d902a7c65549fb3f49309" - integrity sha512-I3wX44MZVv+tDuWfrd3BTvRB/YRIM2F5v1MBtTI89sxpFn47mNpTwpPYUOGPVCgKlRDfZSlxIUYhUQmqRQZZFQ== +"@csstools/postcss-stepped-value-functions@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.5.tgz#857cf8eb6bb6ac2831cabe58c15604cfb95af1b2" + integrity sha512-B8K8RaTrYVZLxbNzVUvFO3SlCDJDaUTAO7KRth05fa7f01ufPvb6ztdBuxSoRwOtmNp8iROxPJHOemWo2kBBtA== dependencies: - "@csstools/css-calc" "^1.1.4" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" + "@csstools/css-calc" "^1.1.7" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" -"@csstools/postcss-text-decoration-shorthand@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.3.tgz#e0708cf41f94013837edca1c6db23d5d6dd3c10e" - integrity sha512-d5J9m49HhqXRcw1S6vTZuviHi/iknUKGjBpChiNK1ARg9sSa3b8m5lsWz5Izs8ISORZdv2bZRwbw5Z2R6gQ9kQ== +"@csstools/postcss-text-decoration-shorthand@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.4.tgz#b8c5216faa2c9d8a05b3f93da7b403dd5dd53a79" + integrity sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ== dependencies: - "@csstools/color-helpers" "^3.0.2" + "@csstools/color-helpers" "^4.0.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-trigonometric-functions@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.2.tgz#b03d045015fc6e16d81e36e5783c545b5590a2f2" - integrity sha512-AwzNhF4QOKaLOKvMljwwFkeYXwufhRO15G+kKohHkyoNOL75xWkN+W2Y9ik9tSeAyDv+cYNlYaF+o/a79WjVjg== +"@csstools/postcss-trigonometric-functions@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.5.tgz#bf9f061120bed802fe133188a94c82ba79c440d6" + integrity sha512-RhBfQ0TsBudyPuoo8pXKdfQuUiQxMU/Sc5GyV57bWk93JbUHXq6b4CdPx+B/tHUeFKvocVJn/e2jbu96rh0d3Q== dependencies: - "@csstools/css-calc" "^1.1.4" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" + "@csstools/css-calc" "^1.1.7" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" -"@csstools/postcss-unset-value@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.0.tgz#6d2f08140b41d3e70d805ccd2baaf64a6f59fdac" - integrity sha512-P0JD1WHh3avVyKKRKjd0dZIjCEeaBer8t1BbwGMUDtSZaLhXlLNBqZ8KkqHzYWXOJgHleXAny2/sx8LYl6qhEA== +"@csstools/postcss-unset-value@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz#598a25630fd9ab0edf066d235916f7441404942a" + integrity sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg== -"@csstools/selector-specificity@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz#798622546b63847e82389e473fd67f2707d82247" - integrity sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g== +"@csstools/selector-specificity@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.2.tgz#ea61ba7bb24be3502c6aaa3190ed231f4633a81e" + integrity sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg== + +"@csstools/utilities@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/utilities/-/utilities-1.0.0.tgz#42f3c213f2fb929324d465684ab9f46a0febd4bb" + integrity sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg== "@discoveryjs/json-ext@^0.5.0": version "0.5.5" @@ -722,7 +748,7 @@ arg@^5.0.2: resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== -autoprefixer@^10.4.16, autoprefixer@^10.4.17: +autoprefixer@^10.4.17: version "10.4.17" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be" integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== @@ -759,13 +785,13 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.14.5, browserslist@^4.22.1, browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== +browserslist@^4.14.5, browserslist@^4.22.2, browserslist@^4.22.3: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" node-releases "^2.0.14" update-browserslist-db "^1.0.13" @@ -779,11 +805,16 @@ camelcase-css@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -caniuse-lite@^1.0.30001565, caniuse-lite@^1.0.30001578: +caniuse-lite@^1.0.30001578: version "1.0.30001579" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== +caniuse-lite@^1.0.30001587: + version "1.0.30001588" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz#07f16b65a7f95dba82377096923947fb25bce6e3" + integrity sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ== + chokidar@^3.3.0, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" @@ -868,31 +899,31 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-blank-pseudo@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-6.0.0.tgz#2bc6f812a5f60296c04c55b1696bad4300dcdbcc" - integrity sha512-VbfLlOWO7sBHBTn6pwDQzc07Z0SDydgDBfNfCE0nvrehdBNv9RKsuupIRa/qal0+fBZhAALyQDPMKz5lnvcchw== +css-blank-pseudo@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-6.0.1.tgz#f79f8b84cc00f891e16aa85f14093c5e1c3499a8" + integrity sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw== dependencies: postcss-selector-parser "^6.0.13" -css-has-pseudo@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-6.0.0.tgz#b8c8f39a19bc83c5be59fd251510a7e443c47968" - integrity sha512-X+r+JBuoO37FBOWVNhVJhxtSBUFHgHbrcc0CjFT28JEdOw1qaDwABv/uunyodUuSy2hMPe9j/HjssxSlvUmKjg== +css-has-pseudo@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-6.0.2.tgz#a1a15ee7082d72a23ed1d810220ba384da867d15" + integrity sha512-Z2Qm5yyOvJRTy6THdUlnGIX6PW/1wOc4FHWlfkcBkfkpZ3oz6lPdG+h+J7t1HZHT4uSSVR8XatXiMpqMUADXow== dependencies: - "@csstools/selector-specificity" "^3.0.0" + "@csstools/selector-specificity" "^3.0.2" postcss-selector-parser "^6.0.13" postcss-value-parser "^4.2.0" -css-prefers-color-scheme@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.0.tgz#7e9b74062655ea15490e359cb456a3b9f4c93327" - integrity sha512-03QGAk/FXIRseDdLb7XAiu6gidQ0Nd8945xuM7VFVPpc6goJsG9uIO8xQjTxwbPdPIIV4o4AJoOJyt8gwDl67g== +css-prefers-color-scheme@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz#30fcb94cc38b639b66fb99e1882ffd97f741feaa" + integrity sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g== -cssdb@^7.9.0: - version "7.9.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.9.0.tgz#d42d8269ff3d3e1c366280ab1f9f6207057b262c" - integrity sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw== +cssdb@^7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.11.0.tgz#26570bbc92251b719cd74468df710d86c554117f" + integrity sha512-YUVAJhjDcTZzVD5XE49l3PQtGE29vvhzaL1bM3BtkvSmIRJeYENdfn1dn5jauBI7BBF+IyyiBS+oSVx3Hz/Gaw== cssesc@^3.0.0: version "3.0.0" @@ -914,10 +945,10 @@ dlv@^1.1.3: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== -electron-to-chromium@^1.4.601: - version "1.4.639" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.639.tgz#c6f9cc685f9efb2980d2cfc95a27f8142c9adf28" - integrity sha512-CkKf3ZUVZchr+zDpAlNLEEy2NJJ9T64ULWaDgy3THXXlPVPkLu3VOs9Bac44nebVtdwl2geSj6AxTtGDOxoXhg== +electron-to-chromium@^1.4.668: + version "1.4.675" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.675.tgz#9e612a5339e3c9f884982478a8aaf2da3ab6ec7d" + integrity sha512-+1u3F/XPNIdUwv8i1lDxHAxCvNNU0QIqgb1Ycn+Jnng8ITzWSvUqixRSM7NOazJuwhf65IV17f/VbKj8DmL26A== emoji-regex@^8.0.0: version "8.0.0" @@ -1487,12 +1518,12 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -postcss-attribute-case-insensitive@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz#e843091859323342e461878d201ee70278809e01" - integrity sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw== +postcss-attribute-case-insensitive@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.3.tgz#d118023911a768dfccfc0b0147f5ff06d8485806" + integrity sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ== dependencies: - postcss-selector-parser "^6.0.10" + postcss-selector-parser "^6.0.13" postcss-clamp@^4.1.0: version "4.1.0" @@ -1519,71 +1550,78 @@ postcss-cli@^11.0.0: slash "^5.0.0" yargs "^17.0.0" -postcss-color-functional-notation@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.2.tgz#5fa38d36cd0e2ea9db7fd6f2f2a1ffb2c0796a8d" - integrity sha512-FsjSmlSufuiFBsIqQ++VxFmvX7zKndZpBkHmfXr4wqhvzM92FTEkAh703iqWTl1U3faTgqioIqCbfqdWiFVwtw== +postcss-color-functional-notation@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.5.tgz#eca158e833b5655c5715c998e92aab9481124c18" + integrity sha512-aTFsIy89ftjyclwUHRwvz1IxucLzVrzmmcXmtbPWT9GdyYeaJEKeAwbaZzOZn7AQlXg4xfwgkYhKsofC4aLIwg== dependencies: - "@csstools/postcss-progressive-custom-properties" "^3.0.2" - postcss-value-parser "^4.2.0" + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" -postcss-color-hex-alpha@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.2.tgz#6d3ed50342802469880981a1999515d003ff7d79" - integrity sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg== +postcss-color-hex-alpha@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.4.tgz#f455902fb222453b2eb9699dfa9fc17a9c056f1e" + integrity sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ== dependencies: + "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" -postcss-color-rebeccapurple@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.1.tgz#d1266b9a9571ca478c8ce7ad97a15727eac3c6b2" - integrity sha512-ds4cq5BjRieizVb2PnvbJ0omg9VCo2/KzluvoFZbxuGpsGJ5BQSD93CHBooinEtangCM5YqUOerGDl4xGmOb6Q== +postcss-color-rebeccapurple@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.3.tgz#63e14d9b9ab196e62e3491606a2b77a9531a6825" + integrity sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ== dependencies: + "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" -postcss-custom-media@^10.0.2: - version "10.0.2" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz#70a244bbc59fc953ab6573e4e2c9624639aef08a" - integrity sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w== - dependencies: - "@csstools/cascade-layer-name-parser" "^1.0.5" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/media-query-list-parser" "^2.1.5" - -postcss-custom-properties@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-13.3.2.tgz#88952f883003d897ade5c836e1e005b09a12f02b" - integrity sha512-2Coszybpo8lpLY24vy2CYv9AasiZ39/bs8Imv0pWMq55Gl8NWzfc24OAo3zIX7rc6uUJAqESnVOMZ6V6lpMjJA== - dependencies: - "@csstools/cascade-layer-name-parser" "^1.0.5" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" +postcss-custom-media@^10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-10.0.3.tgz#7131ee7f6e55cbb0423dcfca37c8946539f1b214" + integrity sha512-wfJ9nKpLn/Qy7LASKu0Rj9Iq2uMzlRt27P4FAE1889IKRMdYUgy8SqvdXfAOs7LJLQX9Fjm0mZ+TSFphD/mKwA== + dependencies: + "@csstools/cascade-layer-name-parser" "^1.0.8" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/media-query-list-parser" "^2.1.8" + +postcss-custom-properties@^13.3.5: + version "13.3.5" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-13.3.5.tgz#0083841407dbf93c833457ecffdf1a3d74a76d10" + integrity sha512-xHg8DTCMfN2nrqs2CQTF+0m5jgnzKL5zrW5Y05KF6xBRO0uDPxiplBm/xcr1o49SLbyJXkMuaRJKhRzkrquKnQ== + dependencies: + "@csstools/cascade-layer-name-parser" "^1.0.8" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" -postcss-custom-selectors@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz#6d28812998dcd48f61a6a538141fc16cf2c42123" - integrity sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw== +postcss-custom-selectors@^7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-7.1.7.tgz#66b7adb9a3470ba11860ad7847947c7fd29e985d" + integrity sha512-N19MpExaR+hYTXU59VO02xE42zLoAUYSVcupwkKlWWLteOb+sWCWHw5FhV7u7gVLTzaGULy7nZP3DNTHgOZAPA== dependencies: - "@csstools/cascade-layer-name-parser" "^1.0.5" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" + "@csstools/cascade-layer-name-parser" "^1.0.8" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" postcss-selector-parser "^6.0.13" -postcss-dir-pseudo-class@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.0.tgz#9e4e37d170f672520d3f38fd8376db0ca04d4e9c" - integrity sha512-Oy5BBi0dWPwij/IA+yDYj+/OBMQ9EPqAzTHeSNUYrUWdll/PRJmcbiUj0MNcsBi681I1gcSTLvMERPaXzdbvJg== +postcss-dir-pseudo-class@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.1.tgz#b93755f52fb90215301b1d3ecb7c5e6416930a1e" + integrity sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw== dependencies: postcss-selector-parser "^6.0.13" -postcss-double-position-gradients@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.2.tgz#a55ed4d6a395f324aa5535ea8c42c74e8ace2651" - integrity sha512-KTbvdOOy8z8zb0BTkEg4/1vqlRlApdvjw8/pFoehgQl0WVO+fezDGlvo0B8xRA+XccA7ohkQCULKNsiNOx70Cw== +postcss-double-position-gradients@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.4.tgz#294787043e5e6187b5489ee52950ecfb303f9ea9" + integrity sha512-xOH2QhazCPeYR+ziYaDcGlpo7Bpw8PVoggOFfU/xPkmBRUQH8MR2eWoPY1CZM93CB0WKs2mxq3ORo83QGIooLw== dependencies: - "@csstools/postcss-progressive-custom-properties" "^3.0.2" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" postcss-flexbugs-fixes@^5.0.2: @@ -1591,17 +1629,17 @@ postcss-flexbugs-fixes@^5.0.2: resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== -postcss-focus-visible@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-9.0.0.tgz#a81227428d6f1e524099c6581f7c7132f987e382" - integrity sha512-zA4TbVaIaT8npZBEROhZmlc+GBKE8AELPHXE7i4TmIUEQhw/P/mSJfY9t6tBzpQ1rABeGtEOHYrW4SboQeONMQ== +postcss-focus-visible@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-9.0.1.tgz#eede1032ce86b3bb2556d93ca5df63c68dfc2559" + integrity sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ== dependencies: postcss-selector-parser "^6.0.13" -postcss-focus-within@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-8.0.0.tgz#8304380dd2dadc1c2dcfa52816ff86be7736fc16" - integrity sha512-E7+J9nuQzZaA37D/MUZMX1K817RZGDab8qw6pFwzAkDd/QtlWJ9/WTKmzewNiuxzeq6WWY7ATiRePVoDKp+DnA== +postcss-focus-within@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-8.0.1.tgz#524af4c7eabae35cb1efa220a7903016fcc897fa" + integrity sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA== dependencies: postcss-selector-parser "^6.0.13" @@ -1610,16 +1648,17 @@ postcss-font-variant@^5.0.0: resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== -postcss-gap-properties@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-5.0.0.tgz#3bd77f3d51facb1da404b4edd72b8203929385a5" - integrity sha512-YjsEEL6890P7MCv6fch6Am1yq0EhQCJMXyT4LBohiu87+4/WqR7y5W3RIv53WdA901hhytgRvjlrAhibhW4qsA== +postcss-gap-properties@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-5.0.1.tgz#887b64655f42370b43f0ab266cc6dbabf504d276" + integrity sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw== -postcss-image-set-function@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-6.0.1.tgz#e2bba0a0536a0c70f63933f7c5df68742e9615ca" - integrity sha512-VlZncC9hhZ5tg0JllY4g6Z28BeoPO8DIkelioEEkXL0AA0IORlqYpTi2L8TUnl4YQrlwvBgxVy+mdZJw5R/cIQ== +postcss-image-set-function@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-6.0.3.tgz#84c5e32cc1085198f2cf4a786028dae8a2632bb2" + integrity sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw== dependencies: + "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" postcss-import@^15.1.0: @@ -1647,15 +1686,16 @@ postcss-js@^4.0.1: dependencies: camelcase-css "^2.0.1" -postcss-lab-function@^6.0.7: - version "6.0.7" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-6.0.7.tgz#b1dd0ad5a4c993b7695614239754b9be48f3b24b" - integrity sha512-4d1lhDVPukHFqkMv4G5vVcK+tgY52vwb5uR1SWKOaO5389r2q8fMxBWuXSW+YtbCOEGP0/X9KERi9E9le2pJuw== +postcss-lab-function@^6.0.10: + version "6.0.10" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-6.0.10.tgz#efe1bbf9fa1f1034890a0ad078286bfbace11106" + integrity sha512-Csvw/CwwuwTojK2O3Ad0SvYKrfnAKy+uvT+1Fjk6igR+n8gHuJHIwdj1A2s46EZZojg3RkibdMBuv1vMvR6Sng== dependencies: - "@csstools/css-color-parser" "^1.4.0" - "@csstools/css-parser-algorithms" "^2.3.2" - "@csstools/css-tokenizer" "^2.2.1" - "@csstools/postcss-progressive-custom-properties" "^3.0.2" + "@csstools/css-color-parser" "^1.5.2" + "@csstools/css-parser-algorithms" "^2.6.0" + "@csstools/css-tokenizer" "^2.2.3" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/utilities" "^1.0.0" postcss-load-config@^4.0.1: version "4.0.1" @@ -1673,10 +1713,10 @@ postcss-load-config@^5.0.0: lilconfig "^3.0.0" yaml "^2.3.4" -postcss-logical@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-7.0.0.tgz#9a83426e716e3c8f957dda3fd874edbcf22c754e" - integrity sha512-zYf3vHkoW82f5UZTEXChTJvH49Yl9X37axTZsJGxrCG2kOUwtaAoz9E7tqYg0lsIoJLybaL8fk/2mOi81zVIUw== +postcss-logical@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-7.0.1.tgz#a3121f6510591b195321b16e65fbe13b1cfd3115" + integrity sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg== dependencies: postcss-value-parser "^4.2.0" @@ -1687,12 +1727,12 @@ postcss-nested@^6.0.1: dependencies: postcss-selector-parser "^6.0.11" -postcss-nesting@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-12.0.1.tgz#abb76d15dfd59a9f7d03b4464f53b60a4d3795c4" - integrity sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA== +postcss-nesting@^12.0.3: + version "12.0.3" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-12.0.3.tgz#ee451e5d2dc3f9f09d68434ddc7ad9d42b7f44e9" + integrity sha512-yrtMRPFNkfZMv9ikBvZ/Eh3RxhpMBKQ3KzD7LCY8+jYVlgju/Mdcxi4JY8bW2Y7ISXw8GTLuF/o+kFtp+yaVfQ== dependencies: - "@csstools/selector-specificity" "^3.0.0" + "@csstools/selector-specificity" "^3.0.2" postcss-selector-parser "^6.0.13" postcss-opacity-percentage@^2.0.0: @@ -1700,10 +1740,10 @@ postcss-opacity-percentage@^2.0.0: resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-2.0.0.tgz#c0a56060cd4586e3f954dbde1efffc2deed53002" integrity sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ== -postcss-overflow-shorthand@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.0.tgz#1ed6d6c532cdf52b5dabec06662dc63f9207855c" - integrity sha512-2rlxDyeSics/hC2FuMdPnWiP9WUPZ5x7FTuArXLFVpaSQ2woPSfZS4RD59HuEokbZhs/wPUQJ1E3MT6zVv94MQ== +postcss-overflow-shorthand@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.1.tgz#c0a124edad4f7ad88109275a60510e1fb07ab833" + integrity sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ== dependencies: postcss-value-parser "^4.2.0" @@ -1712,83 +1752,83 @@ postcss-page-break@^3.0.4: resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== -postcss-place@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-9.0.0.tgz#7e47851bf40d16ce06f6013453b706100ca6c102" - integrity sha512-qLEPD9VPH5opDVemwmRaujODF9nExn24VOC3ghgVLEvfYN7VZLwJHes0q/C9YR5hI2UC3VgBE8Wkdp1TxCXhtg== +postcss-place@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-9.0.1.tgz#c08c46a94e639c1ee3457ac96d50c50a89bd6ac3" + integrity sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q== dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@^9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz#58f296087cf3dc18cb75af11954c6c5822220327" - integrity sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw== - dependencies: - "@csstools/postcss-cascade-layers" "^4.0.1" - "@csstools/postcss-color-function" "^3.0.7" - "@csstools/postcss-color-mix-function" "^2.0.7" - "@csstools/postcss-exponential-functions" "^1.0.1" - "@csstools/postcss-font-format-keywords" "^3.0.0" - "@csstools/postcss-gamut-mapping" "^1.0.0" - "@csstools/postcss-gradients-interpolation-method" "^4.0.7" - "@csstools/postcss-hwb-function" "^3.0.6" - "@csstools/postcss-ic-unit" "^3.0.2" - "@csstools/postcss-initial" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^4.0.3" - "@csstools/postcss-logical-float-and-clear" "^2.0.0" - "@csstools/postcss-logical-overflow" "^1.0.0" - "@csstools/postcss-logical-overscroll-behavior" "^1.0.0" - "@csstools/postcss-logical-resize" "^2.0.0" - "@csstools/postcss-logical-viewport-units" "^2.0.3" - "@csstools/postcss-media-minmax" "^1.1.0" - "@csstools/postcss-media-queries-aspect-ratio-number-values" "^2.0.3" - "@csstools/postcss-nested-calc" "^3.0.0" - "@csstools/postcss-normalize-display-values" "^3.0.1" - "@csstools/postcss-oklab-function" "^3.0.7" - "@csstools/postcss-progressive-custom-properties" "^3.0.2" - "@csstools/postcss-relative-color-syntax" "^2.0.7" - "@csstools/postcss-scope-pseudo-class" "^3.0.0" - "@csstools/postcss-stepped-value-functions" "^3.0.2" - "@csstools/postcss-text-decoration-shorthand" "^3.0.3" - "@csstools/postcss-trigonometric-functions" "^3.0.2" - "@csstools/postcss-unset-value" "^3.0.0" - autoprefixer "^10.4.16" - browserslist "^4.22.1" - css-blank-pseudo "^6.0.0" - css-has-pseudo "^6.0.0" - css-prefers-color-scheme "^9.0.0" - cssdb "^7.9.0" - postcss-attribute-case-insensitive "^6.0.2" +postcss-preset-env@^9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-9.4.0.tgz#9896efc0e9896d68316adcf2d314d36f38f04bba" + integrity sha512-5X2UA4Dn4xo7sJFCxlzW/dAGo71Oxh/K5DVls33hd2e3j06OKnW5FJQTw2hB0wTnGv0f6WcMaVBGFqcEfAgwlw== + dependencies: + "@csstools/postcss-cascade-layers" "^4.0.3" + "@csstools/postcss-color-function" "^3.0.10" + "@csstools/postcss-color-mix-function" "^2.0.10" + "@csstools/postcss-exponential-functions" "^1.0.4" + "@csstools/postcss-font-format-keywords" "^3.0.2" + "@csstools/postcss-gamut-mapping" "^1.0.3" + "@csstools/postcss-gradients-interpolation-method" "^4.0.10" + "@csstools/postcss-hwb-function" "^3.0.9" + "@csstools/postcss-ic-unit" "^3.0.4" + "@csstools/postcss-initial" "^1.0.1" + "@csstools/postcss-is-pseudo-class" "^4.0.5" + "@csstools/postcss-light-dark-function" "^1.0.0" + "@csstools/postcss-logical-float-and-clear" "^2.0.1" + "@csstools/postcss-logical-overflow" "^1.0.1" + "@csstools/postcss-logical-overscroll-behavior" "^1.0.1" + "@csstools/postcss-logical-resize" "^2.0.1" + "@csstools/postcss-logical-viewport-units" "^2.0.6" + "@csstools/postcss-media-minmax" "^1.1.3" + "@csstools/postcss-media-queries-aspect-ratio-number-values" "^2.0.6" + "@csstools/postcss-nested-calc" "^3.0.2" + "@csstools/postcss-normalize-display-values" "^3.0.2" + "@csstools/postcss-oklab-function" "^3.0.10" + "@csstools/postcss-progressive-custom-properties" "^3.1.0" + "@csstools/postcss-relative-color-syntax" "^2.0.10" + "@csstools/postcss-scope-pseudo-class" "^3.0.1" + "@csstools/postcss-stepped-value-functions" "^3.0.5" + "@csstools/postcss-text-decoration-shorthand" "^3.0.4" + "@csstools/postcss-trigonometric-functions" "^3.0.5" + "@csstools/postcss-unset-value" "^3.0.1" + autoprefixer "^10.4.17" + browserslist "^4.22.3" + css-blank-pseudo "^6.0.1" + css-has-pseudo "^6.0.2" + css-prefers-color-scheme "^9.0.1" + cssdb "^7.11.0" + postcss-attribute-case-insensitive "^6.0.3" postcss-clamp "^4.1.0" - postcss-color-functional-notation "^6.0.2" - postcss-color-hex-alpha "^9.0.2" - postcss-color-rebeccapurple "^9.0.1" - postcss-custom-media "^10.0.2" - postcss-custom-properties "^13.3.2" - postcss-custom-selectors "^7.1.6" - postcss-dir-pseudo-class "^8.0.0" - postcss-double-position-gradients "^5.0.2" - postcss-focus-visible "^9.0.0" - postcss-focus-within "^8.0.0" + postcss-color-functional-notation "^6.0.5" + postcss-color-hex-alpha "^9.0.4" + postcss-color-rebeccapurple "^9.0.3" + postcss-custom-media "^10.0.3" + postcss-custom-properties "^13.3.5" + postcss-custom-selectors "^7.1.7" + postcss-dir-pseudo-class "^8.0.1" + postcss-double-position-gradients "^5.0.4" + postcss-focus-visible "^9.0.1" + postcss-focus-within "^8.0.1" postcss-font-variant "^5.0.0" - postcss-gap-properties "^5.0.0" - postcss-image-set-function "^6.0.1" - postcss-lab-function "^6.0.7" - postcss-logical "^7.0.0" - postcss-nesting "^12.0.1" + postcss-gap-properties "^5.0.1" + postcss-image-set-function "^6.0.3" + postcss-lab-function "^6.0.10" + postcss-logical "^7.0.1" + postcss-nesting "^12.0.3" postcss-opacity-percentage "^2.0.0" - postcss-overflow-shorthand "^5.0.0" + postcss-overflow-shorthand "^5.0.1" postcss-page-break "^3.0.4" - postcss-place "^9.0.0" - postcss-pseudo-class-any-link "^9.0.0" + postcss-place "^9.0.1" + postcss-pseudo-class-any-link "^9.0.1" postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^7.0.1" - postcss-value-parser "^4.2.0" + postcss-selector-not "^7.0.2" -postcss-pseudo-class-any-link@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.0.tgz#5fb5b700e0ecdc845a94eb433b8ccff756cbf660" - integrity sha512-QNCYIL98VKFKY6HGDEJpF6+K/sg9bxcUYnOmNHJxZS5wsFDFaVoPeG68WAuhsqwbIBSo/b9fjEnTwY2mTSD+uA== +postcss-pseudo-class-any-link@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz#71c24a886765763d4e37e21a27ecc6f1c1a5d698" + integrity sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q== dependencies: postcss-selector-parser "^6.0.13" @@ -1809,12 +1849,12 @@ postcss-reporter@^7.0.0: lodash.sortby "^4.7.0" picocolors "^1.0.0" -postcss-selector-not@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz#8142e90c8eb6c8c5faecb3e9d96d4353d02e94fb" - integrity sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ== +postcss-selector-not@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-7.0.2.tgz#f9184c7770be5dcb4abd7efa3610a15fbd2f0b31" + integrity sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA== dependencies: - postcss-selector-parser "^6.0.10" + postcss-selector-parser "^6.0.13" postcss-selector-parser@6.0.10: version "6.0.10" @@ -1824,7 +1864,7 @@ postcss-selector-parser@6.0.10: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.13: +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.13: version "6.0.13" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== From bfda0794a593da88d853b68d2d1b6f2826ba022d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:26:30 +0000 Subject: [PATCH 18/99] Bump selenium-webdriver from 4.17.0 to 4.18.0 (#2225) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a91df461f..a4255ea85 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -447,7 +447,7 @@ GEM ffi (~> 1.12) ruby2_keywords (0.0.5) rubyzip (2.3.2) - selenium-webdriver (4.17.0) + selenium-webdriver (4.18.0) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) From d5bd4830397ea1a3dfa5c8990ccf93f819f8d6bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:26:43 +0000 Subject: [PATCH 19/99] Bump pagy from 7.0.0 to 7.0.2 (#2224) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a4255ea85..508eef96b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -295,7 +295,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (7.0.0) + pagy (7.0.2) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From 8140b4fa617efc63c1560dae03d50a9fd7ea9b5e Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:27:10 -0800 Subject: [PATCH 20/99] =?UTF-8?q?=F0=9F=8C=B8=20`Marketplace`:=20Improve?= =?UTF-8?q?=20`ManagementComponent`=20iconography=20(#2221)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/2220 The icons for `TaxeRates#index` and `Flyers#show` were the same, plus `Products#index` will conflict with `Tags#index`. So now `Products#index` is :cake: and `Flyers#show` is :qr_code: While I was doing this, I also made the following tidyings: - ✨ `SvgComponent` has `#building_storefront` icon! - ✨ `SvgComponent` has `#qr_code` icon! - 🧹 `SvgComponent` icon-method names match Heroicon's label! - 🧹 `SvgComponent#cake` does not need a wrapping `` tag! - 🥗 `ManagementComponent` has every link it's supposed to - 🧹 `ManagementComponent::Spec` uses `have_link` instead of `have_css` - 🧹 `ManagementComponent` eliminates usage of `ButtonComponent` We originally added the `ButtonComponent` to inject the tailwind CSS classes in Ruby, but with the changes @anaulin made, we now can use the `.button` and `.button.--primary`/`.button.--secondary` classes. Now, when I notice the `ButtonComponent` being used, I pull it out so we can (eventually) delete it. --- app/components/svg_component.rb | 45 +++++++------------ .../marketplace/management_component.html.erb | 16 +++---- .../marketplace/management_component.rb | 20 ++++----- .../marketplace/management_component_spec.rb | 15 ++++--- 4 files changed, 43 insertions(+), 53 deletions(-) diff --git a/app/components/svg_component.rb b/app/components/svg_component.rb index 8c5dff9fc..08f68c7ea 100644 --- a/app/components/svg_component.rb +++ b/app/components/svg_component.rb @@ -1,27 +1,6 @@ class SvgComponent < ApplicationComponent - # Mapping of icon name symbols to methods returning the SVG path for that icon. - # - # We've been getting these SVG paths from https://heroicons.com/, using - # the "Outline" style. - # Feel free to add more as needed, from other libraries as appropriate, - # as long as they match the intended aesthetic and are appropriately licensed. - # - # Format: { symbol: method returning path for symbol } - ICON_MAPPINGS = { - cake: :cake, - cart: :cart, - money: :money, - exclamation_triangle: :exclamation_triangle, - gear: :gear, - map: :map, - receipt_percent: :receipt_percent, - bell: :ringing_bell, - tag: :tag, - plus: :plus, - trash: :trash, - pencil: :pencil - }.with_indifferent_access.freeze - + # We've been getting SVG paths from https://heroicons.com/, using the + # "Outline" style. Add more as needed. attr_reader :icon def initialize(icon: nil, **kwargs) @@ -35,7 +14,7 @@ def call def content if icon.present? - raw(send(ICON_MAPPINGS[icon])) # rubocop:disable Rails/OutputSafety + raw(send(icon)) # rubocop:disable Rails/OutputSafety else super end @@ -53,6 +32,12 @@ def options }) end + def building_storefront + <<~SVG + + SVG + end + def gear <<~SVG @@ -91,7 +76,7 @@ def cart SVG end - def ringing_bell + def bell_alert <<~SVG SVG @@ -123,10 +108,14 @@ def pencil def cake <<~SVG - - - + + SVG + end + def qr_code + <<~SVG + + SVG end end diff --git a/app/furniture/marketplace/management_component.html.erb b/app/furniture/marketplace/management_component.html.erb index 2c51721f7..5c7b32a85 100644 --- a/app/furniture/marketplace/management_component.html.erb +++ b/app/furniture/marketplace/management_component.html.erb @@ -13,14 +13,14 @@ <%= content %> <% card.with_footer do %> <% end %> <% end %> diff --git a/app/furniture/marketplace/management_component.rb b/app/furniture/marketplace/management_component.rb index 2e98e8aed..725b59ced 100644 --- a/app/furniture/marketplace/management_component.rb +++ b/app/furniture/marketplace/management_component.rb @@ -12,19 +12,19 @@ def onboarding_component OnboardingComponent.new(marketplace: marketplace) end - def button(location, icon:) - label, href = if location.is_a?(Symbol) - [t("marketplace.marketplace.#{location}.link_to"), - marketplace.location(location)] - elsif location[:child].to_s.pluralize == location[:child].to_s - [t("marketplace.#{location[:child]}.index.link_to"), - marketplace.location(**location)] + def link_to_child(child, icon:) + label, href = if child.to_s.pluralize == child.to_s + [t("marketplace.#{child}.index.link_to"), + marketplace.location(child:)] else - [t("marketplace.#{location[:child].to_s.pluralize}.show.link_to"), - marketplace.location(**location)] + [t("marketplace.#{child.to_s.pluralize}.show.link_to"), + marketplace.location(child:)] end - ButtonComponent.new(label: label, icon: icon, href: href, turbo_stream: false, method: :get, scheme: :secondary) + link_to(href, class: "button --secondary w-full text-left") do + render(SvgComponent.new(icon:, classes: "w-6 h-6 mr-2 inline-block")) + + label + end end end end diff --git a/spec/furniture/marketplace/management_component_spec.rb b/spec/furniture/marketplace/management_component_spec.rb index 61bf7154d..89d6d56a5 100644 --- a/spec/furniture/marketplace/management_component_spec.rb +++ b/spec/furniture/marketplace/management_component_spec.rb @@ -8,11 +8,12 @@ let(:component) { described_class.new(marketplace: marketplace, current_person: operator) } let(:marketplace) { create(:marketplace) } - it { is_expected.to have_css("a[href='#{polymorphic_path(marketplace.location(child: :products))}']", text: I18n.t("marketplace.products.index.link_to")) } - - it { is_expected.to have_css("a[href='#{polymorphic_path(marketplace.location(child: :delivery_areas))}']", text: I18n.t("marketplace.delivery_areas.index.link_to")) } - - it { is_expected.to have_css("a[href='#{polymorphic_path(marketplace.location(child: :tax_rates))}']", text: I18n.t("marketplace.tax_rates.index.link_to")) } - - it { is_expected.to have_css("a[href='#{polymorphic_path(marketplace.location(child: :orders))}']", text: I18n.t("marketplace.orders.index.link_to")) } + it { is_expected.to have_link(I18n.t("marketplace.payment_settings.index.link_to"), href: polymorphic_path(marketplace.location(child: :payment_settings))) } + it { is_expected.to have_link(I18n.t("marketplace.products.index.link_to"), href: polymorphic_path(marketplace.location(child: :products))) } + it { is_expected.to have_link(I18n.t("marketplace.delivery_areas.index.link_to"), href: polymorphic_path(marketplace.location(child: :delivery_areas))) } + it { is_expected.to have_link(I18n.t("marketplace.tax_rates.index.link_to"), href: polymorphic_path(marketplace.location(child: :tax_rates))) } + it { is_expected.to have_link(I18n.t("marketplace.orders.index.link_to"), href: polymorphic_path(marketplace.location(child: :orders))) } + it { is_expected.to have_link(I18n.t("marketplace.notification_methods.index.link_to"), href: polymorphic_path(marketplace.location(child: :notification_methods))) } + it { is_expected.to have_link(I18n.t("marketplace.vendor_representatives.index.link_to"), href: polymorphic_path(marketplace.location(child: :vendor_representatives))) } + it { is_expected.to have_link(I18n.t("marketplace.flyers.show.link_to"), href: polymorphic_path(marketplace.location(child: :flyer))) } end From de7f62a46d486eefade829662b3e9d5f6573d344 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:27:53 -0800 Subject: [PATCH 21/99] =?UTF-8?q?=F0=9F=90=9E=F0=9F=94=A8=20`Pagination`:?= =?UTF-8?q?=20Fix=20missing=20translation=20error=20for=20`Next`=20and=20`?= =?UTF-8?q?Previous`=20links=20(#2217)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/2216 With the Pagy 7 upgrade; the helper I wrote so we could add spacing between the Pagination links broke. This switches out from doing an in-ruby style override to an in-css style override; which should be less fraught. --- .../stylesheets/application.postcss.css | 1 + app/assets/stylesheets/extensions/pagy.scss | 8 +++++ .../journal/journals/_journal.html.erb | 2 +- .../marketplace/orders/index.html.erb | 2 +- app/helpers/pagy_helper.rb | 31 ------------------- app/views/neighborhoods/show.html.erb | 2 +- 6 files changed, 12 insertions(+), 34 deletions(-) create mode 100644 app/assets/stylesheets/extensions/pagy.scss diff --git a/app/assets/stylesheets/application.postcss.css b/app/assets/stylesheets/application.postcss.css index ff9af79db..dc8bd8752 100644 --- a/app/assets/stylesheets/application.postcss.css +++ b/app/assets/stylesheets/application.postcss.css @@ -8,3 +8,4 @@ @import "./utilities.scss"; @import "./components.scss"; @import "actiontext.css"; +@import "./extensions/pagy.scss"; diff --git a/app/assets/stylesheets/extensions/pagy.scss b/app/assets/stylesheets/extensions/pagy.scss new file mode 100644 index 000000000..f0e347199 --- /dev/null +++ b/app/assets/stylesheets/extensions/pagy.scss @@ -0,0 +1,8 @@ +.pagy-nav { + @apply flex justify-between; + + .page.active a, + .page.disabled a { + @apply no-underline; + } +} diff --git a/app/furniture/journal/journals/_journal.html.erb b/app/furniture/journal/journals/_journal.html.erb index 485fa7bde..2b37d4016 100644 --- a/app/furniture/journal/journals/_journal.html.erb +++ b/app/furniture/journal/journals/_journal.html.erb @@ -7,7 +7,7 @@ <%= render Journal::EntryComponent.with_collection(@entries) %>
- <%== pagy_nav(@pagy, nav_extra: 'flex justify-between') %> + <%== pagy_nav(@pagy) %> <%= render Journal::NewEntryButtonComponent.new(journal: journal) %> diff --git a/app/furniture/marketplace/orders/index.html.erb b/app/furniture/marketplace/orders/index.html.erb index 33a4ae9de..9191ad744 100644 --- a/app/furniture/marketplace/orders/index.html.erb +++ b/app/furniture/marketplace/orders/index.html.erb @@ -2,5 +2,5 @@ <%- @pagy, @records = pagy(orders.paid) %>
<%= render @records %> - <%== pagy_nav(@pagy, nav_extra: 'flex justify-between mt-4') %> + <%== pagy_nav(@pagy) %>
diff --git a/app/helpers/pagy_helper.rb b/app/helpers/pagy_helper.rb index 95599c572..6b1a93e5c 100644 --- a/app/helpers/pagy_helper.rb +++ b/app/helpers/pagy_helper.rb @@ -1,35 +1,4 @@ module PagyHelper include Pagy::Backend include Pagy::Frontend - - # @todo submit a patch to Pagy which allows us to override the classes using `nav_extra` - # since there wasn't a tidy seam to inject tailwind classes on the container beyond - # copy-paste-and-replace - def pagy_nav(pagy, pagy_id: nil, link_extra: "", nav_extra: "", **) - p_id = %( id="#{pagy_id}") if pagy_id - link = pagy_link_proc(pagy, link_extra: link_extra) - p_prev = pagy.prev - p_next = pagy.next - - html = +%() - html << if p_prev - %(#{link.call p_prev, pagy_t("pagy.nav.prev"), 'aria-label="previous"'} ) - else - %(#{pagy_t("pagy.nav.prev")} ) - end - pagy.series(**).each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36] - html << case item - when Integer then %(#{link.call item} ) - when String then %(#{pagy.label_for(item)} ) - when :gap then %(#{pagy_t("pagy.nav.gap")} ) - else raise InternalError, "expected item types in series to be Integer, String or :gap; got #{item.inspect}" - end - end - html << if p_next - %(#{link.call p_next, pagy_t("pagy.nav.next"), 'aria-label="next"'}) - else - %(#{pagy_t("pagy.nav.next")}) - end - html << %() - end end diff --git a/app/views/neighborhoods/show.html.erb b/app/views/neighborhoods/show.html.erb index 318ee160d..2afbedbd0 100644 --- a/app/views/neighborhoods/show.html.erb +++ b/app/views/neighborhoods/show.html.erb @@ -5,7 +5,7 @@ <%= render @records %>
- <%== pagy_nav(@pagy, nav_extra: 'flex justify-between') %> + <%== pagy_nav(@pagy) %> <%- if policy(Space).new? %>
From 9ac1ad126a532e8df58b811b219e7458ca211b57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:33:22 +0000 Subject: [PATCH 22/99] Bump webmock from 3.20.0 to 3.21.0 (#2226) --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 508eef96b..dd9b2863c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -153,7 +153,7 @@ GEM coderay (1.1.3) concurrent-ruby (1.2.3) connection_pool (2.4.1) - crack (0.4.6) + crack (1.0.0) bigdecimal rexml crass (1.0.6) @@ -521,7 +521,7 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webmock (3.20.0) + webmock (3.21.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) From 7a23f98724070c71545266de2833dad5eba418fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 02:23:10 +0000 Subject: [PATCH 23/99] Bump selenium-webdriver from 4.18.0 to 4.18.1 (#2231) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index dd9b2863c..2fc6d5761 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -447,7 +447,7 @@ GEM ffi (~> 1.12) ruby2_keywords (0.0.5) rubyzip (2.3.2) - selenium-webdriver (4.18.0) + selenium-webdriver (4.18.1) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) From 8341a1c25465c837f2a41f1a237d2c8ba3b435c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 02:23:19 +0000 Subject: [PATCH 24/99] Bump pagy from 7.0.2 to 7.0.3 (#2229) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2fc6d5761..795ca89d6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -295,7 +295,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (7.0.2) + pagy (7.0.3) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From 387ccd6f24624a2c3cb92165bb67d6940f0dde9a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 23:54:24 +0000 Subject: [PATCH 25/99] Bump @hotwired/turbo-rails from 8.0.2 to 8.0.3 (#2233) --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 176fcdfc4..523aa673b 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "dependencies": { "@hotwired/stimulus": "^3.2.2", "@hotwired/stimulus-webpack-helpers": "^1.0.1", - "@hotwired/turbo-rails": "^8.0.2", + "@hotwired/turbo-rails": "^8.0.3", "@rails/actioncable": "^7.1.3", "@rails/actiontext": "^7.1.3", "@rails/activestorage": "^7.1.3", diff --git a/yarn.lock b/yarn.lock index 95fcaec3d..bda167767 100644 --- a/yarn.lock +++ b/yarn.lock @@ -311,18 +311,18 @@ resolved "https://registry.yarnpkg.com/@hotwired/stimulus/-/stimulus-3.2.2.tgz#071aab59c600fed95b97939e605ff261a4251608" integrity sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A== -"@hotwired/turbo-rails@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@hotwired/turbo-rails/-/turbo-rails-8.0.2.tgz#c43d54d9346bcf14c897166556bfed92ed4c1d17" - integrity sha512-j+6THPc+CsaUdUXZTg6wQ+YcStO9kn6CuGzElqFxUmV/vyd1Jfm0RLZMIbaY8w9Qse7u6JBcrm4AcRxhIhYmaQ== +"@hotwired/turbo-rails@^8.0.3": + version "8.0.3" + resolved "https://registry.yarnpkg.com/@hotwired/turbo-rails/-/turbo-rails-8.0.3.tgz#e60375f4eea4b30ec0cd6d7e3fdb3d6349a2b57b" + integrity sha512-n5B9HdFsNiGJfXFAriCArmvFZyznIh/OriB5ZVAWz4Fsi4oLkpgmJNw5pibBAM7NMQQGN6cfKa/nhZT4LWcqbQ== dependencies: - "@hotwired/turbo" "^8.0.2" + "@hotwired/turbo" "^8.0.3" "@rails/actioncable" "^7.0" -"@hotwired/turbo@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-8.0.2.tgz#c31cdadfe66b98983066a94073b26fc7e15835f0" - integrity sha512-3K6QZkwWfosAV8zuM5bY+kKF02jp1lMQGsWfSE6wXdZBRBP3ah+Vj26YNqYtkEomBwRWA0QKhZgyJP7xOQkVEg== +"@hotwired/turbo@^8.0.3": + version "8.0.3" + resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-8.0.3.tgz#338e07278f4b3c76921328d3c92dbc4831c209d0" + integrity sha512-qLgp7d6JaegKjMToTJahosrFxV3odfSbiekispQ3soOzE5jnU+iEMWlRvYRe/jvy5Q+JWoywtf9j3RD4ikVjIg== "@jridgewell/gen-mapping@^0.3.0": version "0.3.2" From 71c7658a9a2fb509d10846c73dfdca9e23616526 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 23:58:56 +0000 Subject: [PATCH 26/99] Bump @sentry/browser from 7.101.1 to 7.102.0 (#2232) --- package.json | 2 +- yarn.lock | 140 +++++++++++++++++++++++++-------------------------- 2 files changed, 71 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 523aa673b..0aa3d982b 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@rails/actioncable": "^7.1.3", "@rails/actiontext": "^7.1.3", "@rails/activestorage": "^7.1.3", - "@sentry/browser": "^7.101.1", + "@sentry/browser": "^7.102.0", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@webpack-cli/serve": "^2.0.5", diff --git a/yarn.lock b/yarn.lock index bda167767..312993241 100644 --- a/yarn.lock +++ b/yarn.lock @@ -413,76 +413,76 @@ dependencies: spark-md5 "^3.0.1" -"@sentry-internal/feedback@7.101.1": - version "7.101.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.101.1.tgz#d7e27ebcc46bd7306cfaa89b591293a394d75672" - integrity sha512-fOKDMVvLX+FuJHJszKBvRg1m7+fd4hchqRnZ9DDfitT6P5Ppl0gbEt/LStqu8Wq5M0tna+hpdwHlVEt7gZVKzw== - dependencies: - "@sentry/core" "7.101.1" - "@sentry/types" "7.101.1" - "@sentry/utils" "7.101.1" - -"@sentry-internal/replay-canvas@7.101.1": - version "7.101.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.101.1.tgz#6856431a6360dd456c693d0510410dcd46f28150" - integrity sha512-09l6nD+lxWvwkpXLlIZuzj/z79Llbo6mcH33TJvxrUTjAqSGF/i3Pd5bTLWro9atippOyQgIV/yTGG4Bc5FhyQ== - dependencies: - "@sentry/core" "7.101.1" - "@sentry/replay" "7.101.1" - "@sentry/types" "7.101.1" - "@sentry/utils" "7.101.1" - -"@sentry-internal/tracing@7.101.1": - version "7.101.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.101.1.tgz#9504e29c3c2c3ef5f652777e487b596cf8f78e1a" - integrity sha512-ihjWG8x4x0ozx6t+EHoXLKbsPrgzYLCpeBLWyS+M6n3hn6cmHM76c8nZw3ldhUQi5UYL3LFC/JZ50b4oSxtlrg== - dependencies: - "@sentry/core" "7.101.1" - "@sentry/types" "7.101.1" - "@sentry/utils" "7.101.1" - -"@sentry/browser@^7.101.1": - version "7.101.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.101.1.tgz#bab1257de499ed0e928bb4264a2e64d16cecccb5" - integrity sha512-+rIFoWPdO29AHVYsAwq8QEl2Ihv17Xh9Bt2aPFvLTGDA0caHjnx98g2jSOvLIOah6HI7Nwp3Njg2zBEzDtHkNw== - dependencies: - "@sentry-internal/feedback" "7.101.1" - "@sentry-internal/replay-canvas" "7.101.1" - "@sentry-internal/tracing" "7.101.1" - "@sentry/core" "7.101.1" - "@sentry/replay" "7.101.1" - "@sentry/types" "7.101.1" - "@sentry/utils" "7.101.1" - -"@sentry/core@7.101.1": - version "7.101.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.101.1.tgz#929841b7734129803b6dcd4d16bf0d3f53af4657" - integrity sha512-XSmXXeYT1d4O14eDF3OXPJFUgaN2qYEeIGUztqPX9nBs9/ij8y/kZOayFqlIMnfGvjOUM+63sy/2xDBOpFn6ug== - dependencies: - "@sentry/types" "7.101.1" - "@sentry/utils" "7.101.1" - -"@sentry/replay@7.101.1": - version "7.101.1" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.101.1.tgz#129ca5ac70690e78468b037a71a9b756bc3d965f" - integrity sha512-l4jmj2Rf/myzk3TA83PdMiomassG8okdBh1b2Hp1+ycBRVZFDmsR81gKPvnefSXwGwGNGKEmp6Q2bdGzekpp3Q== - dependencies: - "@sentry-internal/tracing" "7.101.1" - "@sentry/core" "7.101.1" - "@sentry/types" "7.101.1" - "@sentry/utils" "7.101.1" - -"@sentry/types@7.101.1": - version "7.101.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.101.1.tgz#7f936022d9b373f85ebf357634bf03a9e433a3d0" - integrity sha512-bwtkQvrCZ6JGc7vqX7TEAKBgkbQFORt84FFS3JQQb8G3efTt9fZd2ReY4buteKQdlALl8h1QWVngTLmI+kyUuw== - -"@sentry/utils@7.101.1": - version "7.101.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.101.1.tgz#97399b1e6a63a15e8f9fec5112ac4834239f1db6" - integrity sha512-Nrg0nrEI3nrOCd9SLJ/WGzxS5KMQE4cryLOvrDcHJRWpsSyGBF1hLLerk84Nsw/0myMsn7zTYU+xoq7idNsX5A== - dependencies: - "@sentry/types" "7.101.1" +"@sentry-internal/feedback@7.102.0": + version "7.102.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.102.0.tgz#c3c7f5cfe9726b6d4d1917bd5bd01238154f8ee7" + integrity sha512-GxHdzbOF4tg6TtyQzFqb/8c/p07n68qZC5KYwzs7AuW5ey0IPmdC58pOh3Kk52JA0P69/RZy39+r1p1Swr6C+Q== + dependencies: + "@sentry/core" "7.102.0" + "@sentry/types" "7.102.0" + "@sentry/utils" "7.102.0" + +"@sentry-internal/replay-canvas@7.102.0": + version "7.102.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.102.0.tgz#2bed235bbcb22eea71c39650096d21a3ed32f466" + integrity sha512-rgNO4PdFv0AYflBsCNbSIwpQuOOJQTqyu8i8U0PupjveNjkm0CUJhber/ZOcaGmbyjdvwikGwgWY2O0Oj0USCA== + dependencies: + "@sentry/core" "7.102.0" + "@sentry/replay" "7.102.0" + "@sentry/types" "7.102.0" + "@sentry/utils" "7.102.0" + +"@sentry-internal/tracing@7.102.0": + version "7.102.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.102.0.tgz#24cf662e1eb5623f6d5197e78c66d7b257560eb8" + integrity sha512-BlE33HWL1IzkGa0W+pwTiyu01MUIfYf+WnO9UC8qkDW3jxVvg2zhoSjXSxikT+KPCOgoZpQHspaTzwjnI1LCvw== + dependencies: + "@sentry/core" "7.102.0" + "@sentry/types" "7.102.0" + "@sentry/utils" "7.102.0" + +"@sentry/browser@^7.102.0": + version "7.102.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.102.0.tgz#335f51d01aabf8c4d2abc871855f9c2d19f8f70d" + integrity sha512-hIggcMnojIbWhbmlRfkykHmy6n7pjug0AHfF19HRUQxAx9KJfMH5YdWvohov0Hb9fS+jdvqgE+/4AWbEeXQrHw== + dependencies: + "@sentry-internal/feedback" "7.102.0" + "@sentry-internal/replay-canvas" "7.102.0" + "@sentry-internal/tracing" "7.102.0" + "@sentry/core" "7.102.0" + "@sentry/replay" "7.102.0" + "@sentry/types" "7.102.0" + "@sentry/utils" "7.102.0" + +"@sentry/core@7.102.0": + version "7.102.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.102.0.tgz#da5e04a5fe97ed91464944dac40b813e6f8aa453" + integrity sha512-GO9eLOSBK1waW4AD0wDXAreaNqXFQ1MPQZrkKcN+GJYEFhJK1+u+MSV7vO5Fs/rIfaTZIZ2jtEkxSSAOucE8EQ== + dependencies: + "@sentry/types" "7.102.0" + "@sentry/utils" "7.102.0" + +"@sentry/replay@7.102.0": + version "7.102.0" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.102.0.tgz#209b7adb68e89772824218ecab498d3a6fbc2c42" + integrity sha512-sUIBN4ZY0J5/dQS3KOe5VLykm856KZkTrhV8kmBEylzQhw1BBc8i2ehTILy5ZYh9Ra8uXPTAmtwpvYf/dRDfAg== + dependencies: + "@sentry-internal/tracing" "7.102.0" + "@sentry/core" "7.102.0" + "@sentry/types" "7.102.0" + "@sentry/utils" "7.102.0" + +"@sentry/types@7.102.0": + version "7.102.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.102.0.tgz#b31e9faa54036053ab82c09c3c855035a4889c59" + integrity sha512-FPfFBP0x3LkPARw1/6cWySLq1djIo8ao3Qo2KNBeE9CHdq8bsS1a8zzjJLuWG4Ww+wieLP8/lY3WTgrCz4jowg== + +"@sentry/utils@7.102.0": + version "7.102.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.102.0.tgz#66325f2567986cc3fd12fbdb980fb8ada170342b" + integrity sha512-cp5KCRe0slOVMwG4iP2Z4UajQkjryRTiFskZ5H7Q3X9R5voM8+DAhiDcIW88GL9NxqyUrAJOjmKdeLK2vM+bdA== + dependencies: + "@sentry/types" "7.102.0" "@sindresorhus/merge-streams@^1.0.0": version "1.0.0" From d5b2336bbb1b029033cde487005320392cd762d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 23:59:13 +0000 Subject: [PATCH 27/99] Bump turbo-rails from 2.0.3 to 2.0.4 (#2234) --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 795ca89d6..ef764dcda 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -315,7 +315,7 @@ GEM pundit (2.3.1) activesupport (>= 3.0.0) racc (1.7.3) - rack (2.2.8) + rack (2.2.8.1) rack-session (1.0.2) rack (< 3) rack-test (2.1.0) @@ -504,7 +504,7 @@ GEM activerecord (>= 5.2) thor (1.3.0) timeout (0.4.1) - turbo-rails (2.0.3) + turbo-rails (2.0.4) actionpack (>= 6.0.0) activejob (>= 6.0.0) railties (>= 6.0.0) From bdfac8d475516de21df20cd019f74dfa21b52bb9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 23:59:41 +0000 Subject: [PATCH 28/99] Bump pagy from 7.0.3 to 7.0.4 (#2236) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ef764dcda..f3ba7b53f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -295,7 +295,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (7.0.3) + pagy (7.0.4) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From b2832f397f1cb8de45b4299b139864e773f08c06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 00:00:03 +0000 Subject: [PATCH 29/99] Bump square.rb from 35.0.1.20240118 to 36.0.0.20240222 (#2237) --- Gemfile.lock | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f3ba7b53f..b29a45fd3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -90,11 +90,10 @@ GEM tzinfo (~> 2.0) addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) - apimatic_core (0.3.4) + apimatic_core (0.3.5) apimatic_core_interfaces (~> 0.2.0) certifi (~> 2018.1, >= 2018.01.18) faraday-multipart (~> 1.0) - json-pointer nokogiri (~> 1.10, >= 1.10.10) apimatic_core_interfaces (0.2.0) apimatic_faraday_client_adapter (0.1.4) @@ -230,7 +229,6 @@ GEM jsbundling-rails (1.3.0) railties (>= 6.0.0) json (2.7.1) - json-pointer (0.0.1) json-schema (4.1.1) addressable (>= 2.8) language_server-protocol (3.17.0.3) @@ -276,7 +274,7 @@ GEM money (~> 6.13) railties (>= 3.0) msgpack (1.7.2) - multipart-post (2.3.0) + multipart-post (2.4.0) mutex_m (0.2.0) net-http (0.4.1) uri @@ -478,7 +476,7 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - square.rb (35.0.1.20240118) + square.rb (36.0.0.20240222) apimatic_core (~> 0.3.0) apimatic_core_interfaces (~> 0.2.0) apimatic_faraday_client_adapter (~> 0.1.0) From f88803557d4dca3f630650fe4f5cbba9374e7da3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 00:44:04 +0000 Subject: [PATCH 30/99] Bump view_component from 3.10.0 to 3.11.0 (#2235) --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index c28c4d025..9a25d6ac8 100644 --- a/Gemfile +++ b/Gemfile @@ -42,7 +42,7 @@ gem "redcarpet", "~> 3.6" gem "gretel", "~> 5.0" # Better UI components gem "lookbook", ">= 2.0.0.beta.4" -gem "view_component", "~> 3.10" +gem "view_component", "~> 3.11" # QR Code Generation! gem "rqrcode", "~> 2.2" diff --git a/Gemfile.lock b/Gemfile.lock index b29a45fd3..d8f3acbf3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -510,7 +510,7 @@ GEM concurrent-ruby (~> 1.0) unicode-display_width (2.5.0) uri (0.13.0) - view_component (3.10.0) + view_component (3.11.0) activesupport (>= 5.2.0, < 8.0) concurrent-ruby (~> 1.0) method_source (~> 1.0) @@ -597,7 +597,7 @@ DEPENDENCIES strong_migrations (~> 1.7) turbo-rails tzinfo-data (~> 1.2021) - view_component (~> 3.10) + view_component (~> 3.11) web-console (~> 4.2) webmock From f171b208bb512867aab1e5e93c03a1c232d8ec2f Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Wed, 21 Feb 2024 17:22:58 -0800 Subject: [PATCH 31/99] =?UTF-8?q?=F0=9F=90=9E=F0=9F=94=A8=20`Marketplace`:?= =?UTF-8?q?=20Don't=20show=20`Product#servings`=20on=20`Menu`=20when=20`bl?= =?UTF-8?q?ank=3F`=20(#2219)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/2170 - https://github.com/zinc-collective/convene/issues/2153 --- .../product/title_component.html.erb | 4 +++- .../menu/product_component_spec.rb | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 spec/furniture/marketplace/menu/product_component_spec.rb diff --git a/app/furniture/marketplace/product/title_component.html.erb b/app/furniture/marketplace/product/title_component.html.erb index 65136464f..9f21e96af 100644 --- a/app/furniture/marketplace/product/title_component.html.erb +++ b/app/furniture/marketplace/product/title_component.html.erb @@ -1,2 +1,4 @@

<%= name %>

-

Serves <%= servings %>

+<%- if servings.present? %> +

Serves <%= servings %>

+<%- end %> diff --git a/spec/furniture/marketplace/menu/product_component_spec.rb b/spec/furniture/marketplace/menu/product_component_spec.rb new file mode 100644 index 000000000..ba88ffa4f --- /dev/null +++ b/spec/furniture/marketplace/menu/product_component_spec.rb @@ -0,0 +1,19 @@ +require "rails_helper" + +RSpec.describe Marketplace::Menu::ProductComponent, type: :component do + subject(:output) { render_inline(component) } + + let(:component) { described_class.new(product:, cart:) } + let(:marketplace) { create(:marketplace) } + let(:cart) { create(:marketplace_cart, marketplace:) } + let(:product) { create(:marketplace_product, marketplace:) } + + it { is_expected.to have_content(vc_test_controller.view_context.humanized_money_with_symbol(product.price)) } + it { is_expected.to have_no_content("Serves") } + + context "when the product has servings" do + let(:product) { create(:marketplace_product, marketplace:, servings: 2) } + + it { is_expected.to have_content("Serves 2") } + end +end From 02d036a16f0e82b6be812a5e9f004904f9753af6 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Wed, 21 Feb 2024 17:23:34 -0800 Subject: [PATCH 32/99] =?UTF-8?q?=F0=9F=8C=B8=20`Journal`:=20Remove=20ital?= =?UTF-8?q?ics=20from=20`Keyword`=20(#2222)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/journal/issues/5 Another de-italicization. --- app/furniture/journal/keywords/show.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/furniture/journal/keywords/show.html.erb b/app/furniture/journal/keywords/show.html.erb index cd431c7c6..0c2c481bc 100644 --- a/app/furniture/journal/keywords/show.html.erb +++ b/app/furniture/journal/keywords/show.html.erb @@ -1,9 +1,9 @@

<%= keyword.canonical_keyword %>

<%- if keyword.aliases.present? %> -

Also known as <%= to_sentence(keyword.aliases) %>

+

Also known as <%= to_sentence(keyword.aliases) %>

<%- end %> -

Entries about <%= keyword.canonical_keyword %>

+

Entries about <%= keyword.canonical_keyword %>

<%= render Journal::NewEntryButtonComponent.new(keyword: keyword) %>
    <%- policy_scope(keyword.entries).each do |entry|%> From 0c6e17048ca8eea6cf254e0c2afb50e71368b852 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Wed, 21 Feb 2024 17:53:59 -0800 Subject: [PATCH 33/99] =?UTF-8?q?=F0=9F=8C=B8=E2=9C=A8=F0=9F=A5=A1=20`Mark?= =?UTF-8?q?etplace`:=20`Products#description`=20is=20Rich=20Text=20(#2200)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/2197 - https://github.com/zinc-collective/convene/issues/2153 --- app/assets/stylesheets/application.postcss.css | 1 + .../marketplace/cart_product_component.html.erb | 4 +--- .../marketplace/menu_component.html.erb | 2 +- app/furniture/marketplace/product.rb | 4 +++- .../marketplace/products/_form.html.erb | 2 +- app/furniture/marketplace/products_controller.rb | 2 +- app/views/application/_rich_text_area.html.erb | 8 ++++++++ lib/tasks/release.rake | 3 +++ .../marketplace/cart_product_component_spec.rb | 3 +-- .../marketplace/menu/product_component_spec.rb | 16 ++++++++++++++-- .../marketplace/product_component_spec.rb | 15 ++++++++++++++- .../products_controller_request_spec.rb | 2 +- .../marketplace/selling_products_system_spec.rb | 4 +++- 13 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 app/views/application/_rich_text_area.html.erb diff --git a/app/assets/stylesheets/application.postcss.css b/app/assets/stylesheets/application.postcss.css index dc8bd8752..5bb120d4d 100644 --- a/app/assets/stylesheets/application.postcss.css +++ b/app/assets/stylesheets/application.postcss.css @@ -1,4 +1,5 @@ /* Entry point for your PostCSS build */ +@import "trix"; @import "./tailwind.scss"; diff --git a/app/furniture/marketplace/cart_product_component.html.erb b/app/furniture/marketplace/cart_product_component.html.erb index a0cae15e0..1c970cd3f 100644 --- a/app/furniture/marketplace/cart_product_component.html.erb +++ b/app/furniture/marketplace/cart_product_component.html.erb @@ -11,9 +11,7 @@ - - <%= product.description %> - + <%= humanized_money_with_symbol(product.price) %> diff --git a/app/furniture/marketplace/menu_component.html.erb b/app/furniture/marketplace/menu_component.html.erb index 0973effae..d0f95d85a 100644 --- a/app/furniture/marketplace/menu_component.html.erb +++ b/app/furniture/marketplace/menu_component.html.erb @@ -1,5 +1,5 @@
    - <%- marketplace.products.unarchived.each do |product| %> + <%- marketplace.products.with_all_rich_text.unarchived.each do |product| %> <%= render Marketplace::Menu::ProductComponent.new(product:, cart:)%> <%- end %>
    diff --git a/app/furniture/marketplace/product.rb b/app/furniture/marketplace/product.rb index 03b4c81a8..50253fe0d 100644 --- a/app/furniture/marketplace/product.rb +++ b/app/furniture/marketplace/product.rb @@ -2,6 +2,8 @@ class Marketplace class Product < Record + self.ignored_columns += ["description"] + include Archivable # TODO: Refactor to use Media model @@ -32,7 +34,7 @@ class Product < Record attribute :name, :string validates :name, presence: true - attribute :description, :string + has_rich_text :description monetize :price_cents diff --git a/app/furniture/marketplace/products/_form.html.erb b/app/furniture/marketplace/products/_form.html.erb index 3604b0fb8..c4e3f705b 100644 --- a/app/furniture/marketplace/products/_form.html.erb +++ b/app/furniture/marketplace/products/_form.html.erb @@ -1,7 +1,7 @@ <%= render CardComponent.new(dom_id: dom_id(product), classes: "mt-3") do %> <%= form_with model: product.location do |f| %> <%= render "text_field", { attribute: :name, form: f} %> - <%= render "text_area", { attribute: :description, form: f} %> + <%= render "rich_text_area", { attribute: :description, form: f} %> <%= render "number_field", { attribute: :servings, form: f, min: 0, step: 1} %> <%= render "money_field", { attribute: :price, form: f, min: 0, step: 0.01} %> diff --git a/app/furniture/marketplace/products_controller.rb b/app/furniture/marketplace/products_controller.rb index 23f60846c..10c9a7cc5 100644 --- a/app/furniture/marketplace/products_controller.rb +++ b/app/furniture/marketplace/products_controller.rb @@ -3,7 +3,7 @@ class Marketplace class ProductsController < Controller expose :product, scope: -> { products }, model: Product - expose :products, -> { policy_scope(marketplace.products) } + expose :products, -> { policy_scope(marketplace.products.with_all_rich_text) } def new authorize(product) diff --git a/app/views/application/_rich_text_area.html.erb b/app/views/application/_rich_text_area.html.erb new file mode 100644 index 000000000..dd8383172 --- /dev/null +++ b/app/views/application/_rich_text_area.html.erb @@ -0,0 +1,8 @@ +
    + <%= form.label attribute %> + <% if local_assigns[:label_hint] %> + <%= local_assigns[:label_hint] %> + <% end %> + <%= form.rich_text_area attribute, class: local_assigns[:field_classes] %> + <%= render partial: "error", locals: { model: form.object, attribute: attribute } %> +
    diff --git a/lib/tasks/release.rake b/lib/tasks/release.rake index 1d4aa5244..e2429954f 100644 --- a/lib/tasks/release.rake +++ b/lib/tasks/release.rake @@ -4,5 +4,8 @@ namespace :release do desc "Ensures any post-release / pre-deploy behavior has occurred" task after_build: [:environment, "db:prepare"] do # Put code you want to execute after migrations but before release here + Marketplace::Product.connection.execute("SELECT id, description FROM marketplace_products").each do |result| + Marketplace::Product.find(result["id"]).update(description: result["description"]) + end end end diff --git a/spec/furniture/marketplace/cart_product_component_spec.rb b/spec/furniture/marketplace/cart_product_component_spec.rb index d80fe778a..3407763c9 100644 --- a/spec/furniture/marketplace/cart_product_component_spec.rb +++ b/spec/furniture/marketplace/cart_product_component_spec.rb @@ -7,13 +7,12 @@ let(:cart) { create(:marketplace_cart) } let(:marketplace) { cart.marketplace } - let(:product) { create(:marketplace_product, :with_description, :with_photo) } + let(:product) { create(:marketplace_product, :with_photo, description: "Hello There") } let(:cart_product) { create(:marketplace_cart_product, cart:, product:, quantity: 5) } let(:component) { described_class.new(cart_product: cart_product, current_person: operator) } it { is_expected.to have_content(product.name) } - it { is_expected.to have_content(product.description) } it { is_expected.to have_content(helpers.humanized_money_with_symbol(product.price)) } it { is_expected.to have_button("âž•") } it { is_expected.to have_button("âž–") } diff --git a/spec/furniture/marketplace/menu/product_component_spec.rb b/spec/furniture/marketplace/menu/product_component_spec.rb index ba88ffa4f..5314445d1 100644 --- a/spec/furniture/marketplace/menu/product_component_spec.rb +++ b/spec/furniture/marketplace/menu/product_component_spec.rb @@ -5,12 +5,24 @@ let(:component) { described_class.new(product:, cart:) } let(:marketplace) { create(:marketplace) } - let(:cart) { create(:marketplace_cart, marketplace:) } - let(:product) { create(:marketplace_product, marketplace:) } + let(:cart) { marketplace.cart_for_shopper(shopper: create(:marketplace_shopper)) } + let(:product) { create(:marketplace_product, description: product_description, marketplace:) } + let(:product_description) do + <<~DESC.chomp +

    A delicious fritter made with love

    + +

    Make sure to eat it warm!

    + DESC + end it { is_expected.to have_content(vc_test_controller.view_context.humanized_money_with_symbol(product.price)) } it { is_expected.to have_no_content("Serves") } + it "renders the description as rich text" do + expect(output).to have_css("p", text: "A delicious fritter made with love") + expect(output).to have_css("strong", text: "eat it warm!") + end + context "when the product has servings" do let(:product) { create(:marketplace_product, marketplace:, servings: 2) } diff --git a/spec/furniture/marketplace/product_component_spec.rb b/spec/furniture/marketplace/product_component_spec.rb index 01d52e7e1..7cfd1b28e 100644 --- a/spec/furniture/marketplace/product_component_spec.rb +++ b/spec/furniture/marketplace/product_component_spec.rb @@ -7,7 +7,14 @@ let(:component) { described_class.new(product: product, current_person: operator) } let(:marketplace) { create(:marketplace) } - let(:product) { create(:marketplace_product, tax_rates: [tax_rate], marketplace: marketplace) } + let(:product_description) do + <<~DESC.chomp +

    A delicious fritter made with love

    + +

    Make sure to eat it warm! + DESC + end + let(:product) { create(:marketplace_product, description: product_description, tax_rates: [tax_rate], marketplace: marketplace) } let(:tax_rate) { create(:marketplace_tax_rate, marketplace: marketplace) } it { is_expected.to have_content(tax_rate.label) } @@ -15,6 +22,12 @@ it { is_expected.to have_content(vc_test_controller.view_context.humanized_money_with_symbol(product.price)) } it { is_expected.to have_css("a[href='#{polymorphic_path(product.location(:edit))}'][data-turbo=true][data-turbo-method=get]") } + + it "renders the description as rich text" do + expect(output).to have_css("p", text: "A delicious fritter made with love") + expect(output).to have_css("strong", text: "eat it warm!") + end + it { is_expected.to have_no_link(I18n.t("destroy.link_to")) } it { is_expected.to have_link(I18n.t("archive.link_to")) } diff --git a/spec/furniture/marketplace/products_controller_request_spec.rb b/spec/furniture/marketplace/products_controller_request_spec.rb index 883e4482f..54cc518c6 100644 --- a/spec/furniture/marketplace/products_controller_request_spec.rb +++ b/spec/furniture/marketplace/products_controller_request_spec.rb @@ -28,7 +28,7 @@ before { perform_request } specify { expect(created_product.name).to eql(product_attributes[:name]) } - specify { expect(created_product.description).to eql(product_attributes[:description]) } + specify { expect(created_product.description.body).to eql(product_attributes[:description]) } specify { expect(created_product.price_cents).to eql(product_attributes[:price_cents]) } specify { expect(created_product.price_currency).to eql(Money.default_currency.to_s) } specify { expect(created_product.tax_rates).to include(tax_rate) } diff --git a/spec/furniture/marketplace/selling_products_system_spec.rb b/spec/furniture/marketplace/selling_products_system_spec.rb index f56c35ec0..cf8b7eb6f 100644 --- a/spec/furniture/marketplace/selling_products_system_spec.rb +++ b/spec/furniture/marketplace/selling_products_system_spec.rb @@ -2,6 +2,8 @@ # @see https://github.com/zinc-collective/convene/issues/1326 describe "Marketplace: Selling Products", type: :system do + include ActionText::SystemTestHelper + let(:space) { create(:space, :with_entrance, :with_members) } let(:marketplace) { create(:marketplace, room: space.entrance) } let(:product) { create(:marketplace_product, marketplace:) } @@ -25,7 +27,7 @@ Made with a Trunk. DESC - fill_in("Description", with: description) + fill_in_rich_text_area("Description", with: description) fill_in("Price", with: "10.00") fill_in("Servings", with: 4) From 9bcc94774a9d0d7ffa3e41b3fd0d8f57293aa5b7 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Wed, 21 Feb 2024 18:01:43 -0800 Subject: [PATCH 34/99] =?UTF-8?q?=F0=9F=A7=B9=20`Marketplace`:=20Remove=20?= =?UTF-8?q?`Product#description`=20column=20(#2238)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/2197 `ActionText` stores it's data in it's own table; so we don't need it. --- app/furniture/marketplace/product.rb | 2 -- ...240222004148_remove_marketplace_products_description.rb | 7 +++++++ db/schema.rb | 3 +-- lib/tasks/release.rake | 3 --- 4 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 db/migrate/20240222004148_remove_marketplace_products_description.rb diff --git a/app/furniture/marketplace/product.rb b/app/furniture/marketplace/product.rb index 50253fe0d..93e2dd6d2 100644 --- a/app/furniture/marketplace/product.rb +++ b/app/furniture/marketplace/product.rb @@ -2,8 +2,6 @@ class Marketplace class Product < Record - self.ignored_columns += ["description"] - include Archivable # TODO: Refactor to use Media model diff --git a/db/migrate/20240222004148_remove_marketplace_products_description.rb b/db/migrate/20240222004148_remove_marketplace_products_description.rb new file mode 100644 index 000000000..9d8763258 --- /dev/null +++ b/db/migrate/20240222004148_remove_marketplace_products_description.rb @@ -0,0 +1,7 @@ +class RemoveMarketplaceProductsDescription < ActiveRecord::Migration[7.1] + def change + safety_assured do + remove_column :marketplace_products, :description, :string + end + end +end diff --git a/db/schema.rb b/db/schema.rb index b9c08f79b..378aa23c1 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_02_16_213129) do +ActiveRecord::Schema[7.1].define(version: 2024_02_22_004148) do # These are extensions that must be enabled in order to support this database enable_extension "pgcrypto" enable_extension "plpgsql" @@ -214,7 +214,6 @@ create_table "marketplace_products", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "marketplace_id" t.string "name" - t.string "description" t.integer "price_cents", default: 0, null: false t.string "price_currency", default: "USD", null: false t.datetime "created_at", null: false diff --git a/lib/tasks/release.rake b/lib/tasks/release.rake index e2429954f..1d4aa5244 100644 --- a/lib/tasks/release.rake +++ b/lib/tasks/release.rake @@ -4,8 +4,5 @@ namespace :release do desc "Ensures any post-release / pre-deploy behavior has occurred" task after_build: [:environment, "db:prepare"] do # Put code you want to execute after migrations but before release here - Marketplace::Product.connection.execute("SELECT id, description FROM marketplace_products").each do |result| - Marketplace::Product.find(result["id"]).update(description: result["description"]) - end end end From bbc9508f9a573672a85493d6259854b42ad66bc9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 03:05:32 +0000 Subject: [PATCH 35/99] Bump cssbundling-rails from 1.1.2 to 1.4.0 (#2139) --- .gitignore | 2 +- Gemfile.lock | 2 +- app/assets/builds/.keep | 0 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 app/assets/builds/.keep diff --git a/.gitignore b/.gitignore index a873e526f..753b67f2e 100644 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,7 @@ features/test_reports/*.png coverage/ -app/assets/builds/ +app/assets/builds/* !/app/assets/builds/.keep /node_modules diff --git a/Gemfile.lock b/Gemfile.lock index d8f3acbf3..cfd34871a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -158,7 +158,7 @@ GEM crass (1.0.6) css_parser (1.16.0) addressable - cssbundling-rails (1.1.2) + cssbundling-rails (1.4.0) railties (>= 6.0.0) date (3.3.3) debug_inspector (1.1.0) diff --git a/app/assets/builds/.keep b/app/assets/builds/.keep new file mode 100644 index 000000000..e69de29bb From 62f9986d60287bea8db2d3dbb0e4a23580a8769d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Feb 2024 05:21:59 +0000 Subject: [PATCH 36/99] Bump pagy from 7.0.4 to 7.0.5 (#2242) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index cfd34871a..da0c4c1e3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -293,7 +293,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (7.0.4) + pagy (7.0.5) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From 6162afd228706e1340232516fd790b7ef43fe22b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Feb 2024 05:22:12 +0000 Subject: [PATCH 37/99] Bump webmock from 3.21.0 to 3.22.0 (#2241) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index da0c4c1e3..10458b96a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -519,7 +519,7 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webmock (3.21.0) + webmock (3.22.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) From e617e2c865ab32a2e7752fdeff01b9d1fa9e1ee2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Feb 2024 05:22:25 +0000 Subject: [PATCH 38/99] Bump stripe from 10.9.0 to 10.10.0 (#2240) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 10458b96a..57d5f0008 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -497,7 +497,7 @@ GEM stringio (3.1.0) strip_attributes (1.13.0) activemodel (>= 3.0, < 8.0) - stripe (10.9.0) + stripe (10.10.0) strong_migrations (1.7.0) activerecord (>= 5.2) thor (1.3.0) From fdd0f90cf5ec5158f6f45b665be2cf63079275e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Feb 2024 05:22:37 +0000 Subject: [PATCH 39/99] Bump @sentry/browser from 7.102.0 to 7.102.1 (#2239) --- package.json | 2 +- yarn.lock | 140 +++++++++++++++++++++++++-------------------------- 2 files changed, 71 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 0aa3d982b..b66ce8fe1 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@rails/actioncable": "^7.1.3", "@rails/actiontext": "^7.1.3", "@rails/activestorage": "^7.1.3", - "@sentry/browser": "^7.102.0", + "@sentry/browser": "^7.102.1", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@webpack-cli/serve": "^2.0.5", diff --git a/yarn.lock b/yarn.lock index 312993241..5d7c3e6ca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -413,76 +413,76 @@ dependencies: spark-md5 "^3.0.1" -"@sentry-internal/feedback@7.102.0": - version "7.102.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.102.0.tgz#c3c7f5cfe9726b6d4d1917bd5bd01238154f8ee7" - integrity sha512-GxHdzbOF4tg6TtyQzFqb/8c/p07n68qZC5KYwzs7AuW5ey0IPmdC58pOh3Kk52JA0P69/RZy39+r1p1Swr6C+Q== - dependencies: - "@sentry/core" "7.102.0" - "@sentry/types" "7.102.0" - "@sentry/utils" "7.102.0" - -"@sentry-internal/replay-canvas@7.102.0": - version "7.102.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.102.0.tgz#2bed235bbcb22eea71c39650096d21a3ed32f466" - integrity sha512-rgNO4PdFv0AYflBsCNbSIwpQuOOJQTqyu8i8U0PupjveNjkm0CUJhber/ZOcaGmbyjdvwikGwgWY2O0Oj0USCA== - dependencies: - "@sentry/core" "7.102.0" - "@sentry/replay" "7.102.0" - "@sentry/types" "7.102.0" - "@sentry/utils" "7.102.0" - -"@sentry-internal/tracing@7.102.0": - version "7.102.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.102.0.tgz#24cf662e1eb5623f6d5197e78c66d7b257560eb8" - integrity sha512-BlE33HWL1IzkGa0W+pwTiyu01MUIfYf+WnO9UC8qkDW3jxVvg2zhoSjXSxikT+KPCOgoZpQHspaTzwjnI1LCvw== - dependencies: - "@sentry/core" "7.102.0" - "@sentry/types" "7.102.0" - "@sentry/utils" "7.102.0" - -"@sentry/browser@^7.102.0": - version "7.102.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.102.0.tgz#335f51d01aabf8c4d2abc871855f9c2d19f8f70d" - integrity sha512-hIggcMnojIbWhbmlRfkykHmy6n7pjug0AHfF19HRUQxAx9KJfMH5YdWvohov0Hb9fS+jdvqgE+/4AWbEeXQrHw== - dependencies: - "@sentry-internal/feedback" "7.102.0" - "@sentry-internal/replay-canvas" "7.102.0" - "@sentry-internal/tracing" "7.102.0" - "@sentry/core" "7.102.0" - "@sentry/replay" "7.102.0" - "@sentry/types" "7.102.0" - "@sentry/utils" "7.102.0" - -"@sentry/core@7.102.0": - version "7.102.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.102.0.tgz#da5e04a5fe97ed91464944dac40b813e6f8aa453" - integrity sha512-GO9eLOSBK1waW4AD0wDXAreaNqXFQ1MPQZrkKcN+GJYEFhJK1+u+MSV7vO5Fs/rIfaTZIZ2jtEkxSSAOucE8EQ== - dependencies: - "@sentry/types" "7.102.0" - "@sentry/utils" "7.102.0" - -"@sentry/replay@7.102.0": - version "7.102.0" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.102.0.tgz#209b7adb68e89772824218ecab498d3a6fbc2c42" - integrity sha512-sUIBN4ZY0J5/dQS3KOe5VLykm856KZkTrhV8kmBEylzQhw1BBc8i2ehTILy5ZYh9Ra8uXPTAmtwpvYf/dRDfAg== - dependencies: - "@sentry-internal/tracing" "7.102.0" - "@sentry/core" "7.102.0" - "@sentry/types" "7.102.0" - "@sentry/utils" "7.102.0" - -"@sentry/types@7.102.0": - version "7.102.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.102.0.tgz#b31e9faa54036053ab82c09c3c855035a4889c59" - integrity sha512-FPfFBP0x3LkPARw1/6cWySLq1djIo8ao3Qo2KNBeE9CHdq8bsS1a8zzjJLuWG4Ww+wieLP8/lY3WTgrCz4jowg== - -"@sentry/utils@7.102.0": - version "7.102.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.102.0.tgz#66325f2567986cc3fd12fbdb980fb8ada170342b" - integrity sha512-cp5KCRe0slOVMwG4iP2Z4UajQkjryRTiFskZ5H7Q3X9R5voM8+DAhiDcIW88GL9NxqyUrAJOjmKdeLK2vM+bdA== - dependencies: - "@sentry/types" "7.102.0" +"@sentry-internal/feedback@7.102.1": + version "7.102.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.102.1.tgz#747f88c2881c76fddd16bce57cc4bc17b4c2af93" + integrity sha512-vY4hpLLMNLjICtWiizc7KeGbWOTUMGrF7C+9dPCztZww3CLgzWy9A7DvPj5hodRiYzpdRnAMl8yQnMFbYXh7bA== + dependencies: + "@sentry/core" "7.102.1" + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry-internal/replay-canvas@7.102.1": + version "7.102.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.102.1.tgz#f098814ce21fdf95ef6d440d7ff8a6d3bfe73054" + integrity sha512-GUX4RWI10uRjdjeyvCLtAAhWRVqnAnG6+yNxWfqUQ3qMA7B7XxG43KT2UhSnulmErNzODQ6hA68rGPwwYeRIww== + dependencies: + "@sentry/core" "7.102.1" + "@sentry/replay" "7.102.1" + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry-internal/tracing@7.102.1": + version "7.102.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.102.1.tgz#5c39c8f04a4a1a665fb6d368e1cd13605152f18b" + integrity sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg== + dependencies: + "@sentry/core" "7.102.1" + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry/browser@^7.102.1": + version "7.102.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.102.1.tgz#30d3da587b2b6542b3d9e39d923ed28a2704d454" + integrity sha512-7BOfPBiM7Kp6q/iy0JIbsBTxIASV+zWXByqqjuEMWGj3X2u4oRIfm3gv4erPU/l+CORQUVQZLSPGoIoM1gbB/A== + dependencies: + "@sentry-internal/feedback" "7.102.1" + "@sentry-internal/replay-canvas" "7.102.1" + "@sentry-internal/tracing" "7.102.1" + "@sentry/core" "7.102.1" + "@sentry/replay" "7.102.1" + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry/core@7.102.1": + version "7.102.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.102.1.tgz#855d37b6bba9986a9380864c823e696d3fc5aa01" + integrity sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg== + dependencies: + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry/replay@7.102.1": + version "7.102.1" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.102.1.tgz#d6c17332d14dc312b124bbbda8f35d6a982b893c" + integrity sha512-HR/j9dGIvbrId8fh8mQlODx7JrhRmawEd9e9P3laPtogWCg/5TI+XPb2VGSaXOX9VWtb/6Z2UjHsaGjgg6YcuA== + dependencies: + "@sentry-internal/tracing" "7.102.1" + "@sentry/core" "7.102.1" + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry/types@7.102.1": + version "7.102.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.102.1.tgz#18c35f32ecbd12afb9860ca2de7bfff542d10b27" + integrity sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA== + +"@sentry/utils@7.102.1": + version "7.102.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.102.1.tgz#45ddcdf2e700d40160347bbdf4233aff3179d398" + integrity sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg== + dependencies: + "@sentry/types" "7.102.1" "@sindresorhus/merge-streams@^1.0.0": version "1.0.0" From 91cd494abbffba1eaf1ca36ee6488a28ab8fd1c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 00:18:41 +0000 Subject: [PATCH 40/99] Bump listen from 3.8.0 to 3.9.0 (#2247) --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 9a25d6ac8..e3399a2a9 100644 --- a/Gemfile +++ b/Gemfile @@ -137,7 +137,7 @@ group :development do gem "binding_of_caller" # Outputs i18n lookup key debug logs gem "i18n-debug" - gem "listen", "~> 3.8" + gem "listen", "~> 3.9" gem "rails-erd" # Access an interactive console on exception pages or by calling 'console' anywhere in the code. gem "web-console", "~> 4.2" diff --git a/Gemfile.lock b/Gemfile.lock index 57d5f0008..a5d0e4c2d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -233,7 +233,7 @@ GEM addressable (>= 2.8) language_server-protocol (3.17.0.3) lint_roller (1.1.0) - listen (3.8.0) + listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) lockbox (1.3.3) @@ -558,7 +558,7 @@ DEPENDENCIES image_processing jbuilder (~> 2.11) jsbundling-rails - listen (~> 3.8) + listen (~> 3.9) lockbox (= 1.3.3) lookbook (>= 2.0.0.beta.4) money-rails From 4e872da0fc3128c1ddce172c5eae0e99f9430acb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 00:48:16 +0000 Subject: [PATCH 41/99] Bump pagy from 7.0.5 to 7.0.6 (#2245) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a5d0e4c2d..0defd1848 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -293,7 +293,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (7.0.5) + pagy (7.0.6) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From af462973ebdf7f1948584fabdcfcfa0beff1de3f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 01:12:33 +0000 Subject: [PATCH 42/99] Bump webmock from 3.22.0 to 3.23.0 (#2246) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0defd1848..751fb553d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -519,7 +519,7 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webmock (3.22.0) + webmock (3.23.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) From ac8b3ea441dbac629dc08708e5923289f2d4b3f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Feb 2024 18:32:10 +0000 Subject: [PATCH 43/99] Bump @sentry/browser from 7.102.1 to 7.103.0 (#2251) --- package.json | 2 +- yarn.lock | 140 +++++++++++++++++++++++++-------------------------- 2 files changed, 71 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index b66ce8fe1..852075301 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@rails/actioncable": "^7.1.3", "@rails/actiontext": "^7.1.3", "@rails/activestorage": "^7.1.3", - "@sentry/browser": "^7.102.1", + "@sentry/browser": "^7.103.0", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@webpack-cli/serve": "^2.0.5", diff --git a/yarn.lock b/yarn.lock index 5d7c3e6ca..dfa20d8c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -413,76 +413,76 @@ dependencies: spark-md5 "^3.0.1" -"@sentry-internal/feedback@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.102.1.tgz#747f88c2881c76fddd16bce57cc4bc17b4c2af93" - integrity sha512-vY4hpLLMNLjICtWiizc7KeGbWOTUMGrF7C+9dPCztZww3CLgzWy9A7DvPj5hodRiYzpdRnAMl8yQnMFbYXh7bA== - dependencies: - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry-internal/replay-canvas@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.102.1.tgz#f098814ce21fdf95ef6d440d7ff8a6d3bfe73054" - integrity sha512-GUX4RWI10uRjdjeyvCLtAAhWRVqnAnG6+yNxWfqUQ3qMA7B7XxG43KT2UhSnulmErNzODQ6hA68rGPwwYeRIww== - dependencies: - "@sentry/core" "7.102.1" - "@sentry/replay" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry-internal/tracing@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.102.1.tgz#5c39c8f04a4a1a665fb6d368e1cd13605152f18b" - integrity sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg== - dependencies: - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/browser@^7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.102.1.tgz#30d3da587b2b6542b3d9e39d923ed28a2704d454" - integrity sha512-7BOfPBiM7Kp6q/iy0JIbsBTxIASV+zWXByqqjuEMWGj3X2u4oRIfm3gv4erPU/l+CORQUVQZLSPGoIoM1gbB/A== - dependencies: - "@sentry-internal/feedback" "7.102.1" - "@sentry-internal/replay-canvas" "7.102.1" - "@sentry-internal/tracing" "7.102.1" - "@sentry/core" "7.102.1" - "@sentry/replay" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/core@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.102.1.tgz#855d37b6bba9986a9380864c823e696d3fc5aa01" - integrity sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg== - dependencies: - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/replay@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.102.1.tgz#d6c17332d14dc312b124bbbda8f35d6a982b893c" - integrity sha512-HR/j9dGIvbrId8fh8mQlODx7JrhRmawEd9e9P3laPtogWCg/5TI+XPb2VGSaXOX9VWtb/6Z2UjHsaGjgg6YcuA== - dependencies: - "@sentry-internal/tracing" "7.102.1" - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/types@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.102.1.tgz#18c35f32ecbd12afb9860ca2de7bfff542d10b27" - integrity sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA== - -"@sentry/utils@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.102.1.tgz#45ddcdf2e700d40160347bbdf4233aff3179d398" - integrity sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg== - dependencies: - "@sentry/types" "7.102.1" +"@sentry-internal/feedback@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.103.0.tgz#0b382b8fc9fc583be1164ff80df07fbe87b565b3" + integrity sha512-2nYoCfP7FpiUR+xxO5y5BL2ajHrhM4fL7HSup6QKNn7gI7vLyllYOOuYFNHhSmsXCD0i00U8DBClGLcn+6DQqw== + dependencies: + "@sentry/core" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry-internal/replay-canvas@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.103.0.tgz#d601e56c04fd51b226f6c2933e28a8ce6955e3ba" + integrity sha512-EyDRMdlSqtwY8zGFhOWwl+nwwo98hlhJz+bpF5PQ6VmFpbplh6Wqfx2p+cPXQr40TGMMC4+vPFlSWTOMjcO9zQ== + dependencies: + "@sentry/core" "7.103.0" + "@sentry/replay" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry-internal/tracing@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.103.0.tgz#b18ef65f610099ee2fc74f91f9ccfdb0353580c4" + integrity sha512-sZ/Wao8HOvGaBs7WlOdflMpHGAFkOBWL6hBiirHaOy5d+IDm7n7et5U6zhvcfiyYBO4nY36gy1Tg5mw+aNO0Vw== + dependencies: + "@sentry/core" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry/browser@^7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.103.0.tgz#b509394d238e67f6225339c242701710ea347508" + integrity sha512-lP3Oplnwo1lY8ltk8SWzQURbxnSfVhYA099mVs1T95sdwXS16Za6SX7Ld/9T506ZW/WyoU4VCq7eKtG2kPFhMQ== + dependencies: + "@sentry-internal/feedback" "7.103.0" + "@sentry-internal/replay-canvas" "7.103.0" + "@sentry-internal/tracing" "7.103.0" + "@sentry/core" "7.103.0" + "@sentry/replay" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry/core@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.103.0.tgz#8f626362c96f9aa4b4a52042c431d16372491dc1" + integrity sha512-LCI+PIDoF/RLqN41fNXum3ilmS6ukni6L7t38vSdibbe2G0804EbPLtOIpv2PkS8E6CFuRW5zOb+8OwEAAtZWw== + dependencies: + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry/replay@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.103.0.tgz#6b420f1a33784e76533bb72ea9743e8ad34c0b23" + integrity sha512-I37komyb+DruQG8lPPPOFxLLbOijNXeTxiWLsIn+KFZqRtKqxxQWdNnk56V4YSTpFzxnMEFMRCpXhncuTWu4LA== + dependencies: + "@sentry-internal/tracing" "7.103.0" + "@sentry/core" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry/types@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.103.0.tgz#f413f922216c97ec86bae39f9d527669d8afedbd" + integrity sha512-NCvKyx8d2AGBQKPARrJemZmZ16DiMo688OEikZg4BbvFNDUzK5Egm2BH0vfLDhbNkU19o3maJowrYo42m8r9Zw== + +"@sentry/utils@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.103.0.tgz#803b76e2adfdcec0d4ab6369cc8990dde19b55f4" + integrity sha512-phkUJt3F0UOkVq+M4GfdAh2ewI3ASrNiJddx9aO7GnT0aDwwVBHZltnqt95qgAB8W+BipTSt1dAh8yUbbq1Ceg== + dependencies: + "@sentry/types" "7.103.0" "@sindresorhus/merge-streams@^1.0.0": version "1.0.0" From 9f0209036b52a907068d112884bc7646d293b142 Mon Sep 17 00:00:00 2001 From: Ana Ulin Date: Wed, 28 Feb 2024 10:51:12 -0800 Subject: [PATCH 44/99] =?UTF-8?q?=F0=9F=A7=B9=20Ensure=20that=20factory=20?= =?UTF-8?q?for=20Journal::Keyword=20always=20uses=20a=20unique=20canonical?= =?UTF-8?q?=20keyword=20(#2254)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ensure that factory for Journal::Keyword always uses a unique canonical_keyword. --- spec/factories/furniture/journal.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/factories/furniture/journal.rb b/spec/factories/furniture/journal.rb index cdea165b7..a27b879d4 100644 --- a/spec/factories/furniture/journal.rb +++ b/spec/factories/furniture/journal.rb @@ -28,7 +28,7 @@ end factory :journal_keyword, class: "Journal::Keyword" do - canonical_keyword { Faker::Fantasy::Tolkien.location } + sequence(:canonical_keyword) { |n| "#{Faker::Fantasy::Tolkien.location}-#{n}" } journal end end From 5339ade8a7a40aebedbf62336d8b92f98040b5c0 Mon Sep 17 00:00:00 2001 From: Ross Chapman Date: Wed, 28 Feb 2024 10:58:48 -0800 Subject: [PATCH 45/99] Cleans up Order and Order history UI (#2249) --- app/furniture/layouts/marketplace.html.erb | 39 ++++++++++--------- .../marketplace/orders/_order.html.erb | 11 ++---- .../marketplace/orders/index.html.erb | 2 +- 3 files changed, 25 insertions(+), 27 deletions(-) diff --git a/app/furniture/layouts/marketplace.html.erb b/app/furniture/layouts/marketplace.html.erb index 13b146c01..8dadf9bec 100644 --- a/app/furniture/layouts/marketplace.html.erb +++ b/app/furniture/layouts/marketplace.html.erb @@ -1,22 +1,25 @@ <%- content_for :content do %> - <%= turbo_frame_tag(marketplace, data: { turbo_action: :advance }) do %> - <%- if policy(marketplace).edit? %> - <%= render Marketplace::ManagementComponent.new(marketplace: marketplace) do %> - <%= yield %> +

    +
    + <%= turbo_frame_tag(marketplace, data: { turbo_action: :advance }) do %> + <%- if policy(marketplace).edit? %> + <%= render Marketplace::ManagementComponent.new(marketplace: marketplace) do %> + <%= yield %> + <%- end %> + <%- else %> +
    +
    +

    + <%= t('.header', space: marketplace.space.name, room: marketplace.room.name) %> +

    +
    +
    + <%= yield %> +
    +
    + <%- end %> <%- end %> - <%- else %> -
    -
    -

    - <%= t('.header', space: marketplace.space.name, room: marketplace.room.name) %> -

    -
    - -
    - <%= yield %> -
    -
    <%- end %> - <%- end %> -<%- end %> +
    +
    <%= render template: "layouts/application" %> diff --git a/app/furniture/marketplace/orders/_order.html.erb b/app/furniture/marketplace/orders/_order.html.erb index 0203aee07..ca6068233 100644 --- a/app/furniture/marketplace/orders/_order.html.erb +++ b/app/furniture/marketplace/orders/_order.html.erb @@ -1,18 +1,15 @@ -<%= render CardComponent.new(classes: "w-full grid grid-cols-6 mt-4") do %> +<%= render CardComponent.new(classes: "w-full mt-4") do %> +

    Order Summary

    <%= link_to(l(order.placed_at.presence || order.created_at, format: :long_ordinal), order.location) %>

    -
    <%= order.delivery_address %>
    - - <%- order.ordered_products.each do |ordered_product| %> <%= ordered_product.name %> x<%= ordered_product.quantity %> <%= humanized_money_with_symbol(ordered_product.price) %> - <%- if ordered_product.tax_amount.positive? %> <%= ordered_product.tax_rates.map(&:label).to_sentence %> @@ -26,11 +23,9 @@
    Total
    <%= humanized_money_with_symbol(order.price_total) %>
    - - <%- if policy(order.events).index? %> + <%- if policy(order.events).index? && order.events.present? %>
    -

    Timeline

    <%- order.events.each do |event| %> diff --git a/app/furniture/marketplace/orders/index.html.erb b/app/furniture/marketplace/orders/index.html.erb index 9191ad744..bfad34999 100644 --- a/app/furniture/marketplace/orders/index.html.erb +++ b/app/furniture/marketplace/orders/index.html.erb @@ -2,5 +2,5 @@ <%- @pagy, @records = pagy(orders.paid) %>
    <%= render @records %> - <%== pagy_nav(@pagy) %> + <%== pagy_nav(@pagy) if @pagy.pages > 1 %>
    From 299a634d5d4ddafd16f52054644e8b884dd67742 Mon Sep 17 00:00:00 2001 From: Ross Chapman Date: Fri, 1 Mar 2024 09:12:03 -0800 Subject: [PATCH 46/99] Fixes absolute paths in Marketplace mailers #2243 (#2257) --- .../order/email_receipt_component.html.erb | 151 +++++++++--------- spec/factories/furniture/marketplace.rb | 14 +- 2 files changed, 86 insertions(+), 79 deletions(-) diff --git a/app/furniture/marketplace/order/email_receipt_component.html.erb b/app/furniture/marketplace/order/email_receipt_component.html.erb index 8feba2698..146e71a6a 100644 --- a/app/furniture/marketplace/order/email_receipt_component.html.erb +++ b/app/furniture/marketplace/order/email_receipt_component.html.erb @@ -1,78 +1,81 @@ -
    -

    - <%= link_to "Order #{order.id}", order.persisted? ? order.location : "#" %> -

    -

    - <%= placed_at %> -

    - - - - -<%- order.ordered_products.each do |ordered_product|%> - - - - - -<%- end %> - - - - - - - - - - - - - - - - - - - - - - - - - - - -<%- if order.delivery_area.present? %> - - - - - - - - -<%- end %> - - - - - - - - - - - - - -
    Products
    <%= ordered_product.name %>x <%= ordered_product.quantity %><%= humanized_money_with_symbol(ordered_product.price) %>
    Subtotal<%= humanized_money_with_symbol(order.product_total) %>
    Taxes and Fees
    Taxes<%= humanized_money_with_symbol(order.tax_total) %>
    Delivery<%= humanized_money_with_symbol(order.delivery_fee) %>
    Total<%= humanized_money_with_symbol(order.price_total) %>
    Delivery Details
    Delivery Notes<%= order.delivery_notes %>
    Delivery Schedule:<%= render(Marketplace::Cart::DeliveryWindowComponent.new(window: order.delivery_area.delivery_window)) %>
    Delivering In:<%= order.delivery_area.label %>
    Buyer Email:<%= order.contact_email %>
    Phone Number:<%= order.contact_phone_number %>
    Address:<%= order.delivery_address %>
    +

    + <%= link_to "Order #{order.id}", order.persisted? ? polymorphic_url(order.location) : "#" %> +

    +

    + <%= placed_at %> +

    + + + + + <%- order.ordered_products.each do |ordered_product|%> + + + + + + <%- end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%- if order.delivery_area.present? %> + + + + + + + + + <%- end %> + + + + + + + + + + + + + +
    Products
    <%= ordered_product.name %>x <%= ordered_product.quantity %><%= humanized_money_with_symbol(ordered_product.price) %>
    Subtotal<%= humanized_money_with_symbol(order.product_total) %>
    Taxes and Fees
    Taxes<%= humanized_money_with_symbol(order.tax_total) %>
    Delivery<%= humanized_money_with_symbol(order.delivery_fee) %>
    Total<%= humanized_money_with_symbol(order.price_total) %>
    Delivery Details
    Delivery Notes<%= order.delivery_notes %>
    Delivery Schedule:<%= render(Marketplace::Cart::DeliveryWindowComponent.new(window: order.delivery_area.delivery_window)) %>
    Delivering In:<%= order.delivery_area.label %>
    Buyer Email:<%= order.contact_email %>
    Phone Number:<%= order.contact_phone_number %>
    Address:<%= order.delivery_address %>
    diff --git a/spec/factories/furniture/marketplace.rb b/spec/factories/furniture/marketplace.rb index 0b00e7e8a..1bc074084 100644 --- a/spec/factories/furniture/marketplace.rb +++ b/spec/factories/furniture/marketplace.rb @@ -78,7 +78,7 @@ end factory :marketplace_product, class: "Marketplace::Product" do - name { Faker::TvShows::DrWho.specie } + name { Faker::TvShows::DrWho.unique.specie } price_cents { Random.rand(1_00..999_99) } marketplace @@ -131,7 +131,7 @@ end factory :marketplace_order, class: "Marketplace::Order" do - marketplace + marketplace { association(:marketplace, :ready_for_shopping) } shopper { association(:marketplace_shopper) } status { :paid } @@ -141,7 +141,7 @@ product_count { 1 } end - ordered_products { Array.new(product_count) { association(:marketplace_ordered_product) } } + ordered_products { Array.new(product_count) { association(:marketplace_ordered_product, marketplace: marketplace) } } end trait :with_taxed_products do @@ -177,8 +177,12 @@ end factory :marketplace_ordered_product, class: "Marketplace::OrderedProduct" do - product factory: :marketplace_product - order factory: :marketplace_order + transient do + marketplace { association(:marketplace) } + end + + product { association(:marketplace_product, marketplace: marketplace) } + order { association(:marketplace_order, marketplace: marketplace) } quantity { 1 } end From dfa3dca7bd78c9bc6c255024ceaf92b01961c66b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 18:57:00 +0000 Subject: [PATCH 47/99] Bump @sentry/browser from 7.103.0 to 7.104.0 (#2261) --- package.json | 2 +- yarn.lock | 140 +++++++++++++++++++++++++-------------------------- 2 files changed, 71 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 852075301..b8f36dc0e 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@rails/actioncable": "^7.1.3", "@rails/actiontext": "^7.1.3", "@rails/activestorage": "^7.1.3", - "@sentry/browser": "^7.103.0", + "@sentry/browser": "^7.104.0", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@webpack-cli/serve": "^2.0.5", diff --git a/yarn.lock b/yarn.lock index dfa20d8c8..fcd7d01f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -413,76 +413,76 @@ dependencies: spark-md5 "^3.0.1" -"@sentry-internal/feedback@7.103.0": - version "7.103.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.103.0.tgz#0b382b8fc9fc583be1164ff80df07fbe87b565b3" - integrity sha512-2nYoCfP7FpiUR+xxO5y5BL2ajHrhM4fL7HSup6QKNn7gI7vLyllYOOuYFNHhSmsXCD0i00U8DBClGLcn+6DQqw== - dependencies: - "@sentry/core" "7.103.0" - "@sentry/types" "7.103.0" - "@sentry/utils" "7.103.0" - -"@sentry-internal/replay-canvas@7.103.0": - version "7.103.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.103.0.tgz#d601e56c04fd51b226f6c2933e28a8ce6955e3ba" - integrity sha512-EyDRMdlSqtwY8zGFhOWwl+nwwo98hlhJz+bpF5PQ6VmFpbplh6Wqfx2p+cPXQr40TGMMC4+vPFlSWTOMjcO9zQ== - dependencies: - "@sentry/core" "7.103.0" - "@sentry/replay" "7.103.0" - "@sentry/types" "7.103.0" - "@sentry/utils" "7.103.0" - -"@sentry-internal/tracing@7.103.0": - version "7.103.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.103.0.tgz#b18ef65f610099ee2fc74f91f9ccfdb0353580c4" - integrity sha512-sZ/Wao8HOvGaBs7WlOdflMpHGAFkOBWL6hBiirHaOy5d+IDm7n7et5U6zhvcfiyYBO4nY36gy1Tg5mw+aNO0Vw== - dependencies: - "@sentry/core" "7.103.0" - "@sentry/types" "7.103.0" - "@sentry/utils" "7.103.0" - -"@sentry/browser@^7.103.0": - version "7.103.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.103.0.tgz#b509394d238e67f6225339c242701710ea347508" - integrity sha512-lP3Oplnwo1lY8ltk8SWzQURbxnSfVhYA099mVs1T95sdwXS16Za6SX7Ld/9T506ZW/WyoU4VCq7eKtG2kPFhMQ== - dependencies: - "@sentry-internal/feedback" "7.103.0" - "@sentry-internal/replay-canvas" "7.103.0" - "@sentry-internal/tracing" "7.103.0" - "@sentry/core" "7.103.0" - "@sentry/replay" "7.103.0" - "@sentry/types" "7.103.0" - "@sentry/utils" "7.103.0" - -"@sentry/core@7.103.0": - version "7.103.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.103.0.tgz#8f626362c96f9aa4b4a52042c431d16372491dc1" - integrity sha512-LCI+PIDoF/RLqN41fNXum3ilmS6ukni6L7t38vSdibbe2G0804EbPLtOIpv2PkS8E6CFuRW5zOb+8OwEAAtZWw== - dependencies: - "@sentry/types" "7.103.0" - "@sentry/utils" "7.103.0" - -"@sentry/replay@7.103.0": - version "7.103.0" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.103.0.tgz#6b420f1a33784e76533bb72ea9743e8ad34c0b23" - integrity sha512-I37komyb+DruQG8lPPPOFxLLbOijNXeTxiWLsIn+KFZqRtKqxxQWdNnk56V4YSTpFzxnMEFMRCpXhncuTWu4LA== - dependencies: - "@sentry-internal/tracing" "7.103.0" - "@sentry/core" "7.103.0" - "@sentry/types" "7.103.0" - "@sentry/utils" "7.103.0" - -"@sentry/types@7.103.0": - version "7.103.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.103.0.tgz#f413f922216c97ec86bae39f9d527669d8afedbd" - integrity sha512-NCvKyx8d2AGBQKPARrJemZmZ16DiMo688OEikZg4BbvFNDUzK5Egm2BH0vfLDhbNkU19o3maJowrYo42m8r9Zw== - -"@sentry/utils@7.103.0": - version "7.103.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.103.0.tgz#803b76e2adfdcec0d4ab6369cc8990dde19b55f4" - integrity sha512-phkUJt3F0UOkVq+M4GfdAh2ewI3ASrNiJddx9aO7GnT0aDwwVBHZltnqt95qgAB8W+BipTSt1dAh8yUbbq1Ceg== - dependencies: - "@sentry/types" "7.103.0" +"@sentry-internal/feedback@7.104.0": + version "7.104.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.104.0.tgz#a2abcfcba3ecd2e6798078bc54841c0146e72b85" + integrity sha512-+OWqm+X9ZfEQQmxVoZsc9lpzd85pabAT+bEj57StRMTnfdRbD9TippS20nCD9N2Ql5v2/41NfiPONMejGbnOwg== + dependencies: + "@sentry/core" "7.104.0" + "@sentry/types" "7.104.0" + "@sentry/utils" "7.104.0" + +"@sentry-internal/replay-canvas@7.104.0": + version "7.104.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.104.0.tgz#08fa83c150a1e512f138013fc293bf63955ac1a1" + integrity sha512-gfdnkFIpxAveKNghkvRCqv+hSiBkxYVoyFZLTvUPuM9Cmvmket1/PpnuWMC2jNtCEewG3gxkPDd4EaT9oa1HZQ== + dependencies: + "@sentry/core" "7.104.0" + "@sentry/replay" "7.104.0" + "@sentry/types" "7.104.0" + "@sentry/utils" "7.104.0" + +"@sentry-internal/tracing@7.104.0": + version "7.104.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.104.0.tgz#f5ec0194b7954a92c8e53247bb9b7183bec79abf" + integrity sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w== + dependencies: + "@sentry/core" "7.104.0" + "@sentry/types" "7.104.0" + "@sentry/utils" "7.104.0" + +"@sentry/browser@^7.104.0": + version "7.104.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.104.0.tgz#8d67bd90645099ad9ed4620df166cfbe6dd53e91" + integrity sha512-HsqO+mr1SowGoP0VbuWrQ2DZT0t5PLomy7LEYa6+4lbOemnY+5YV2NSwBTKbjYysvKipSwaRtPhXrsXsMaz8Bg== + dependencies: + "@sentry-internal/feedback" "7.104.0" + "@sentry-internal/replay-canvas" "7.104.0" + "@sentry-internal/tracing" "7.104.0" + "@sentry/core" "7.104.0" + "@sentry/replay" "7.104.0" + "@sentry/types" "7.104.0" + "@sentry/utils" "7.104.0" + +"@sentry/core@7.104.0": + version "7.104.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.104.0.tgz#2c6ce6eb6a84b8015bffb25e906407ec1d81a224" + integrity sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg== + dependencies: + "@sentry/types" "7.104.0" + "@sentry/utils" "7.104.0" + +"@sentry/replay@7.104.0": + version "7.104.0" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.104.0.tgz#de570a5a8cc59671b0e56944d6978809d896f07f" + integrity sha512-HmWBr/u+SNeULxCxM8lJb2iqhjizeLGJtuKSShPEguEXIUT4kzdoqLh6wn7BAjiKzhmyjrnBcosR5LUqJtGYZQ== + dependencies: + "@sentry-internal/tracing" "7.104.0" + "@sentry/core" "7.104.0" + "@sentry/types" "7.104.0" + "@sentry/utils" "7.104.0" + +"@sentry/types@7.104.0": + version "7.104.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.104.0.tgz#f4458ede188b422827de71e605e7c1faf940103e" + integrity sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ== + +"@sentry/utils@7.104.0": + version "7.104.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.104.0.tgz#2dec1a3cf2c0bc17e1c14cffab056d5bff15f197" + integrity sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g== + dependencies: + "@sentry/types" "7.104.0" "@sindresorhus/merge-streams@^1.0.0": version "1.0.0" From 980686e8797a689add001014d589a451a8c08e34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 18:57:16 +0000 Subject: [PATCH 48/99] Bump yard from 0.9.34 to 0.9.36 (#2262) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 751fb553d..ebf7ac33e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -530,7 +530,7 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - yard (0.9.34) + yard (0.9.36) zeitwerk (2.6.13) zlib (2.1.1) From 3fec1641179a4c2c7ded2d4958358c487f07c017 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 19:01:57 +0000 Subject: [PATCH 49/99] Bump pagy from 7.0.6 to 7.0.7 (#2258) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ebf7ac33e..b54161611 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -293,7 +293,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (7.0.6) + pagy (7.0.7) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From d9e77efac4b6d2b323e149a8c7a2c8a0e99b7e0a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 19:02:54 +0000 Subject: [PATCH 50/99] Bump stripe from 10.10.0 to 10.11.0 (#2259) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b54161611..c1f1ed01e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -497,7 +497,7 @@ GEM stringio (3.1.0) strip_attributes (1.13.0) activemodel (>= 3.0, < 8.0) - stripe (10.10.0) + stripe (10.11.0) strong_migrations (1.7.0) activerecord (>= 5.2) thor (1.3.0) From eaf649f71290be600af479910854be5aa7467454 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 23:40:56 +0000 Subject: [PATCH 51/99] Bump pagy from 7.0.7 to 7.0.8 (#2265) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c1f1ed01e..fc6ee5c38 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -293,7 +293,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (7.0.7) + pagy (7.0.8) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From 99469f55973b9b28ba54b6c33f50b2efed07cf1d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 23:41:08 +0000 Subject: [PATCH 52/99] Bump autoprefixer from 10.4.17 to 10.4.18 (#2267) --- package.json | 2 +- yarn.lock | 27 +++++++++++---------------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index b8f36dc0e..30c9a0eda 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@webpack-cli/serve": "^2.0.5", - "autoprefixer": "^10.4.17", + "autoprefixer": "^10.4.18", "event-target-shim": "^6.0.2", "postcss": "^8.4.35", "postcss-cli": "^11.0.0", diff --git a/yarn.lock b/yarn.lock index fcd7d01f7..f292d935a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -748,13 +748,13 @@ arg@^5.0.2: resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== -autoprefixer@^10.4.17: - version "10.4.17" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be" - integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== +autoprefixer@^10.4.17, autoprefixer@^10.4.18: + version "10.4.18" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.18.tgz#fcb171a3b017be7cb5d8b7a825f5aacbf2045163" + integrity sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g== dependencies: - browserslist "^4.22.2" - caniuse-lite "^1.0.30001578" + browserslist "^4.23.0" + caniuse-lite "^1.0.30001591" fraction.js "^4.3.7" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -785,7 +785,7 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.14.5, browserslist@^4.22.2, browserslist@^4.22.3: +browserslist@^4.14.5, browserslist@^4.22.3, browserslist@^4.23.0: version "4.23.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== @@ -805,15 +805,10 @@ camelcase-css@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -caniuse-lite@^1.0.30001578: - version "1.0.30001579" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" - integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== - -caniuse-lite@^1.0.30001587: - version "1.0.30001588" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz#07f16b65a7f95dba82377096923947fb25bce6e3" - integrity sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ== +caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001591: + version "1.0.30001591" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz#16745e50263edc9f395895a7cd468b9f3767cf33" + integrity sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ== chokidar@^3.3.0, chokidar@^3.5.3: version "3.5.3" From 6822ec80c248b270b2c0325ebdbb84af8807bee1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 23:41:23 +0000 Subject: [PATCH 53/99] Bump pg from 1.5.5 to 1.5.6 (#2264) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index fc6ee5c38..3f9c58b0a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -298,7 +298,7 @@ GEM parser (3.3.0.5) ast (~> 2.4.1) racc - pg (1.5.5) + pg (1.5.6) pry (0.14.1) coderay (~> 1.1) method_source (~> 1.0) From 36bcb9dc786c3e2d136cb058bda43ecf9cdf4d68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 23:15:40 +0000 Subject: [PATCH 54/99] Bump @sentry/browser from 7.104.0 to 7.105.0 (#2273) --- package.json | 2 +- yarn.lock | 140 +++++++++++++++++++++++++-------------------------- 2 files changed, 71 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 30c9a0eda..41f39f024 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@rails/actioncable": "^7.1.3", "@rails/actiontext": "^7.1.3", "@rails/activestorage": "^7.1.3", - "@sentry/browser": "^7.104.0", + "@sentry/browser": "^7.105.0", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@webpack-cli/serve": "^2.0.5", diff --git a/yarn.lock b/yarn.lock index f292d935a..173bec5fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -413,76 +413,76 @@ dependencies: spark-md5 "^3.0.1" -"@sentry-internal/feedback@7.104.0": - version "7.104.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.104.0.tgz#a2abcfcba3ecd2e6798078bc54841c0146e72b85" - integrity sha512-+OWqm+X9ZfEQQmxVoZsc9lpzd85pabAT+bEj57StRMTnfdRbD9TippS20nCD9N2Ql5v2/41NfiPONMejGbnOwg== - dependencies: - "@sentry/core" "7.104.0" - "@sentry/types" "7.104.0" - "@sentry/utils" "7.104.0" - -"@sentry-internal/replay-canvas@7.104.0": - version "7.104.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.104.0.tgz#08fa83c150a1e512f138013fc293bf63955ac1a1" - integrity sha512-gfdnkFIpxAveKNghkvRCqv+hSiBkxYVoyFZLTvUPuM9Cmvmket1/PpnuWMC2jNtCEewG3gxkPDd4EaT9oa1HZQ== - dependencies: - "@sentry/core" "7.104.0" - "@sentry/replay" "7.104.0" - "@sentry/types" "7.104.0" - "@sentry/utils" "7.104.0" - -"@sentry-internal/tracing@7.104.0": - version "7.104.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.104.0.tgz#f5ec0194b7954a92c8e53247bb9b7183bec79abf" - integrity sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w== - dependencies: - "@sentry/core" "7.104.0" - "@sentry/types" "7.104.0" - "@sentry/utils" "7.104.0" - -"@sentry/browser@^7.104.0": - version "7.104.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.104.0.tgz#8d67bd90645099ad9ed4620df166cfbe6dd53e91" - integrity sha512-HsqO+mr1SowGoP0VbuWrQ2DZT0t5PLomy7LEYa6+4lbOemnY+5YV2NSwBTKbjYysvKipSwaRtPhXrsXsMaz8Bg== - dependencies: - "@sentry-internal/feedback" "7.104.0" - "@sentry-internal/replay-canvas" "7.104.0" - "@sentry-internal/tracing" "7.104.0" - "@sentry/core" "7.104.0" - "@sentry/replay" "7.104.0" - "@sentry/types" "7.104.0" - "@sentry/utils" "7.104.0" - -"@sentry/core@7.104.0": - version "7.104.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.104.0.tgz#2c6ce6eb6a84b8015bffb25e906407ec1d81a224" - integrity sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg== - dependencies: - "@sentry/types" "7.104.0" - "@sentry/utils" "7.104.0" - -"@sentry/replay@7.104.0": - version "7.104.0" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.104.0.tgz#de570a5a8cc59671b0e56944d6978809d896f07f" - integrity sha512-HmWBr/u+SNeULxCxM8lJb2iqhjizeLGJtuKSShPEguEXIUT4kzdoqLh6wn7BAjiKzhmyjrnBcosR5LUqJtGYZQ== - dependencies: - "@sentry-internal/tracing" "7.104.0" - "@sentry/core" "7.104.0" - "@sentry/types" "7.104.0" - "@sentry/utils" "7.104.0" - -"@sentry/types@7.104.0": - version "7.104.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.104.0.tgz#f4458ede188b422827de71e605e7c1faf940103e" - integrity sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ== - -"@sentry/utils@7.104.0": - version "7.104.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.104.0.tgz#2dec1a3cf2c0bc17e1c14cffab056d5bff15f197" - integrity sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g== - dependencies: - "@sentry/types" "7.104.0" +"@sentry-internal/feedback@7.105.0": + version "7.105.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.105.0.tgz#f2a25b55e5368509cfd540c21e74503568492057" + integrity sha512-17doUQFKYgLfG7EmZXjZQ7HR/aBzuLDd+GVaCNthUPyiz/tltV7EFECDWwHpXqzQgYRgroSbY8PruMVujFGUUw== + dependencies: + "@sentry/core" "7.105.0" + "@sentry/types" "7.105.0" + "@sentry/utils" "7.105.0" + +"@sentry-internal/replay-canvas@7.105.0": + version "7.105.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.105.0.tgz#fed7d67d976837ef7c1b72a6db461179703fa6f5" + integrity sha512-XMBdkjIDhap5Gwrub5wlUJhuUVJM4aL4lZV8KcxJZZSXgXsnyGYbEh9SPZOHO05jtbxTxVeL3Pik5qtYjdGnPA== + dependencies: + "@sentry/core" "7.105.0" + "@sentry/replay" "7.105.0" + "@sentry/types" "7.105.0" + "@sentry/utils" "7.105.0" + +"@sentry-internal/tracing@7.105.0": + version "7.105.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.105.0.tgz#9cb06f8281454343215cfe4b119c8198f032ec72" + integrity sha512-b+AFYB7Bc9vmyxl2jbmuT4esX5G0oPfpz35A0sxFzmJIhvMg1YMDNio2c81BtKN+VSPORCnKMLhfk3kyKKvWMQ== + dependencies: + "@sentry/core" "7.105.0" + "@sentry/types" "7.105.0" + "@sentry/utils" "7.105.0" + +"@sentry/browser@^7.105.0": + version "7.105.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.105.0.tgz#3eb56785cfc1cf58528b29ea954b73093e6f9481" + integrity sha512-OlYJzsZG109T1VpZ7O7KXf9IXCUUpp41lkkQM7ICBOBsfiHRUKmV5piTGCG5UgAvyb/gI/I1uQQtO4jthcHKEA== + dependencies: + "@sentry-internal/feedback" "7.105.0" + "@sentry-internal/replay-canvas" "7.105.0" + "@sentry-internal/tracing" "7.105.0" + "@sentry/core" "7.105.0" + "@sentry/replay" "7.105.0" + "@sentry/types" "7.105.0" + "@sentry/utils" "7.105.0" + +"@sentry/core@7.105.0": + version "7.105.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.105.0.tgz#89db519dd9aa7326de63a7eaccf861de3769ab1c" + integrity sha512-5xsaTG6jZincTeJUmZomlv20mVRZUEF1U/g89lmrSOybyk2+opEnB1JeBn4ODwnvmSik8r2QLr6/RiYlaxRJCg== + dependencies: + "@sentry/types" "7.105.0" + "@sentry/utils" "7.105.0" + +"@sentry/replay@7.105.0": + version "7.105.0" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.105.0.tgz#61784e3e88afa66a0d9b1b9d222153ab54ea4bd0" + integrity sha512-hZD2m6fNL9gorUOaaEpqxeH7zNP4y2Ej0TdieM1HMQ2q9Zrm9yOzk9/7ALfbRLIZFRMFTqo9vvVztLs3E+Hx+g== + dependencies: + "@sentry-internal/tracing" "7.105.0" + "@sentry/core" "7.105.0" + "@sentry/types" "7.105.0" + "@sentry/utils" "7.105.0" + +"@sentry/types@7.105.0": + version "7.105.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.105.0.tgz#51dadb7ad650e883459acf18df2ecbb5b4b6e5c2" + integrity sha512-80o0KMVM+X2Ym9hoQxvJetkJJwkpCg7o6tHHFXI+Rp7fawc2iCMTa0IRQMUiSkFvntQLYIdDoNNuKdzz2PbQGA== + +"@sentry/utils@7.105.0": + version "7.105.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.105.0.tgz#727187d252b97cb9e6c78bcdd0e9a1d14e60f313" + integrity sha512-YVAV0c2KLM8+VZCicQ/E/P2+J9Vs0hGhrXwV7w6ZEAtvxrg4oF270toL1WRhvcaf8JO4J1v4V+LuU6Txs4uEeQ== + dependencies: + "@sentry/types" "7.105.0" "@sindresorhus/merge-streams@^1.0.0": version "1.0.0" From ed7fdb83958f3f86040b25a5584552fb2cfc8c1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 23:23:19 +0000 Subject: [PATCH 55/99] Bump rubocop-rspec from 2.26.1 to 2.27.0 (#2260) --- Gemfile.lock | 12 ++++++------ app/models/neighborhood/time_zone_mixin.rb | 4 ++-- spec/furniture/journal/entry_spec.rb | 2 +- spec/support/turbo.rb | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3f9c58b0a..114826fd7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -409,7 +409,7 @@ GEM rswag-ui (2.13.0) actionpack (>= 3.1, < 7.2) railties (>= 3.1, < 7.2) - rubocop (1.60.2) + rubocop (1.61.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -420,12 +420,12 @@ GEM rubocop-ast (>= 1.30.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.30.0) - parser (>= 3.2.1.0) + rubocop-ast (1.31.1) + parser (>= 3.3.0.4) rubocop-capybara (2.20.0) rubocop (~> 1.41) - rubocop-factory_bot (2.25.0) - rubocop (~> 1.33) + rubocop-factory_bot (2.25.1) + rubocop (~> 1.41) rubocop-performance (1.20.2) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.30.0, < 2.0) @@ -434,7 +434,7 @@ GEM rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.30.0, < 2.0) - rubocop-rspec (2.26.1) + rubocop-rspec (2.27.0) rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) diff --git a/app/models/neighborhood/time_zone_mixin.rb b/app/models/neighborhood/time_zone_mixin.rb index 1a609a3f1..9d12fa5e3 100644 --- a/app/models/neighborhood/time_zone_mixin.rb +++ b/app/models/neighborhood/time_zone_mixin.rb @@ -3,8 +3,8 @@ module TimeZoneMixin # This is probably not the end-result we're going for; but it is a start # We will probably want to fall-back to the current_person, then browser, then current_space time zones once we # gain access to them. - def set_time_zone(&block) - Time.use_zone(ENV.fetch("NEIGHBORHOOD_TIME_ZONE"), &block) + def set_time_zone(&) + Time.use_zone(ENV.fetch("NEIGHBORHOOD_TIME_ZONE"), &) end def self.included(controller_or_job) diff --git a/spec/furniture/journal/entry_spec.rb b/spec/furniture/journal/entry_spec.rb index 840bbeb76..ddaead8e9 100644 --- a/spec/furniture/journal/entry_spec.rb +++ b/spec/furniture/journal/entry_spec.rb @@ -34,7 +34,7 @@ it "idempotently creates `Keywords` in the `Journal` and `Entry`" do bad_apple = entry.journal.keywords.create!(canonical_keyword: "BadApple", aliases: ["BadApples"]) good_times = entry.journal.keywords.find_by!(canonical_keyword: "GoodTimes") - expect do + expect do # rubocop:disable RSpec/RepeatedSubjectCall entry.update!(body: "#GoodTimes #HardCider #BadApple #BadApples") end.not_to change { "#{bad_apple.reload.updated_at} - #{good_times.reload.updated_at}" } diff --git a/spec/support/turbo.rb b/spec/support/turbo.rb index eb070266c..1dbca9b37 100644 --- a/spec/support/turbo.rb +++ b/spec/support/turbo.rb @@ -1,7 +1,7 @@ module Spec module Turbo - def have_rendered_turbo_stream(action, target, content = nil, **, &block) - HaveRenderedTurboStream.new(action, target, content, turbo_stream: controller.send(:turbo_stream), **, &block) + def have_rendered_turbo_stream(action, target, content = nil, **, &) + HaveRenderedTurboStream.new(action, target, content, turbo_stream: controller.send(:turbo_stream), **, &) end class HaveRenderedTurboStream From 08a3f5ab0aeb3e5fecb20519c03437c150074b0f Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:30:36 -0800 Subject: [PATCH 56/99] =?UTF-8?q?=F0=9F=93=9D=20Add=20`redis`=20to=20our?= =?UTF-8?q?=20set=20of=20dependencies=20(#2274)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/1520 Also fixes a broken link to PostgreSQL. --- CONTRIBUTING.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 23e38e15d..4ba7360b4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,8 +66,11 @@ First, ensure your development environment has: 1. Ruby (See [.ruby-version](./.ruby-version) for version) 2. Node (See [.nvmrc](./.nvmrc) for version) 3. [Yarn] -4. [PostgreSQL]. (Note: For people using [Docker], a [docker-compose.yml] - file has been included for convenience.) +4. [PostgreSQL] +5. [Redis] + +(Note: If you use [Docker], a [docker-compose.yml] file has been included with + [PostgreSQL] and [Redis] for convenience.) Then, run `bin/setup` to install Ruby and Node dependencies and set up the database. @@ -83,7 +86,8 @@ Log in with space-member@example.com. You can check the email using http://local Finally, with the server still running (perhaps in a different terminal), run `bin/test` to ensure that your development environment is configured correctly. -[PostgreSQL 12]: https://www.postgresql.org/download/ +[PostgreSQL]: https://www.postgresql.org/ +[Redis]: https://redis.io/ [Docker]: https://www.docker.com [docker-compose.yml]: ./docker-compose.yml [.env.development.example]: ./.env.development.example From 8ab67b0788921ded28f3dc9aa39de879d2903d4a Mon Sep 17 00:00:00 2001 From: Ross Chapman Date: Mon, 4 Mar 2024 15:34:41 -0800 Subject: [PATCH 57/99] Adds webpack bundle analyzer and cli scripts (#2248) --- .gitignore | 6 ++- package.json | 8 +++- yarn.lock | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 753b67f2e..7a316168d 100644 --- a/.gitignore +++ b/.gitignore @@ -33,4 +33,8 @@ app/assets/builds/* .devcontainer/output -TAGS +# # Ignore Bust A Gem VSCode extension ctags generation. +/TAGS + +# Webpack Bundle Analyzer +webpack-stats.json diff --git a/package.json b/package.json index 41f39f024..e8d5b5614 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,10 @@ "scripts": { "build": "webpack --config webpack.config.js", "build:css": "postcss --config postcss.config.cjs ./app/assets/stylesheets/application.postcss.css -o ./app/assets/builds/application.css", - "autoformat": "prettier --write './**/*.{scss,css,js}'" + "autoformat": "prettier --write './**/*.{scss,css,js}'", + "webpack:analyze": "yarn webpack:build_json && yarn webpack:analyze_json", + "webpack:build_json": "webpack --profile --json > webpack-stats.json", + "webpack:analyze_json": "webpack-bundle-analyzer webpack-stats.json public/packs" }, "repository": { "type": "git", @@ -29,7 +32,8 @@ }, "homepage": "https://github.com/zinc-collective/convene#readme", "devDependencies": { - "prettier": "^3.2.5" + "prettier": "^3.2.5", + "webpack-bundle-analyzer": "^4.10.1" }, "dependencies": { "@hotwired/stimulus": "^3.2.2", diff --git a/yarn.lock b/yarn.lock index 173bec5fc..041a0fb9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -296,6 +296,11 @@ resolved "https://registry.yarnpkg.com/@csstools/utilities/-/utilities-1.0.0.tgz#42f3c213f2fb929324d465684ab9f46a0febd4bb" integrity sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg== +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + "@discoveryjs/json-ext@^0.5.0": version "0.5.5" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz#9283c9ce5b289a3c4f61c12757469e59377f81f3" @@ -394,6 +399,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@polka/url@^1.0.0-next.24": + version "1.0.0-next.24" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.24.tgz#58601079e11784d20f82d0585865bb42305c4df3" + integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ== + "@rails/actioncable@^7.0", "@rails/actioncable@^7.1.3": version "7.1.3" resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-7.1.3.tgz#4db480347775aeecd4dde2405659eef74a458881" @@ -693,6 +703,16 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +acorn-walk@^8.0.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.0.4: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + acorn@^8.5.0: version "8.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" @@ -880,6 +900,11 @@ commander@^4.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -925,6 +950,11 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +debounce@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + dependency-graph@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" @@ -940,6 +970,11 @@ dlv@^1.1.3: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + electron-to-chromium@^1.4.668: version "1.4.675" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.675.tgz#9e612a5339e3c9f884982478a8aaf2da3ab6ec7d" @@ -973,6 +1008,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -1143,6 +1183,13 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -1155,6 +1202,11 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +html-escaper@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + ignore@^5.2.4: version "5.3.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" @@ -1229,6 +1281,11 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -1386,6 +1443,11 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +mrmime@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4" + integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== + mz@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" @@ -1437,6 +1499,11 @@ once@^1.3.0: dependencies: wrappy "1" +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -2007,6 +2074,15 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +sirv@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" + integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== + dependencies: + "@polka/url" "^1.0.0-next.24" + mrmime "^2.0.0" + totalist "^3.0.0" + slash@^5.0.0, slash@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" @@ -2151,6 +2227,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +totalist@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" + integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== + trix@^2.0.10: version "2.0.10" resolved "https://registry.yarnpkg.com/trix/-/trix-2.0.10.tgz#43f1ff7a94c42f708bd2bad3a2783147c0583698" @@ -2199,6 +2280,25 @@ watchpack@^2.4.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +webpack-bundle-analyzer@^4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz#84b7473b630a7b8c21c741f81d8fe4593208b454" + integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== + dependencies: + "@discoveryjs/json-ext" "0.5.7" + acorn "^8.0.4" + acorn-walk "^8.0.0" + commander "^7.2.0" + debounce "^1.2.1" + escape-string-regexp "^4.0.0" + gzip-size "^6.0.0" + html-escaper "^2.0.2" + is-plain-object "^5.0.0" + opener "^1.5.2" + picocolors "^1.0.0" + sirv "^2.0.3" + ws "^7.3.1" + webpack-cli@^5.1.4: version "5.1.4" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" @@ -2288,6 +2388,11 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +ws@^7.3.1: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" From c871752ea531ce1f6bba8d442477d381f6766c03 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 23:51:43 +0000 Subject: [PATCH 58/99] Bump rubocop-rails from 2.23.1 to 2.24.0 (#2276) --- Gemfile.lock | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 114826fd7..74653d93f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -172,8 +172,7 @@ GEM dotenv-rails (2.8.1) dotenv (= 2.8.1) railties (>= 3.2) - drb (2.2.0) - ruby2_keywords + drb (2.2.1) erubi (1.12.0) factory_bot (6.4.5) activesupport (>= 5.0.0) @@ -429,11 +428,11 @@ GEM rubocop-performance (1.20.2) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.30.0, < 2.0) - rubocop-rails (2.23.1) + rubocop-rails (2.24.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) - rubocop-ast (>= 1.30.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) rubocop-rspec (2.27.0) rubocop (~> 1.40) rubocop-capybara (~> 2.17) @@ -443,7 +442,6 @@ GEM ruby-progressbar (1.13.0) ruby-vips (2.1.4) ffi (~> 1.12) - ruby2_keywords (0.0.5) rubyzip (2.3.2) selenium-webdriver (4.18.1) base64 (~> 0.2) From 05062ba53312f8db62c6a81a8cc11774b65ca6d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 23:56:57 +0000 Subject: [PATCH 59/99] Bump rubocop-rspec from 2.27.0 to 2.27.1 (#2275) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 74653d93f..66acc8de3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -433,7 +433,7 @@ GEM rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (2.27.0) + rubocop-rspec (2.27.1) rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) From cd02f04154e76c0a35a4269d6a07105b6e40be67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 23:57:55 +0000 Subject: [PATCH 60/99] Bump dotenv-rails from 2.8.1 to 3.1.0 (#2252) --- Gemfile.lock | 12 ++++++------ spec/components/neighborhood/link_component_spec.rb | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 66acc8de3..632f9bd9d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -168,10 +168,10 @@ GEM discard (1.3.0) activerecord (>= 4.2, < 8) docile (1.4.0) - dotenv (2.8.1) - dotenv-rails (2.8.1) - dotenv (= 2.8.1) - railties (>= 3.2) + dotenv (3.1.0) + dotenv-rails (3.1.0) + dotenv (= 3.1.0) + railties (>= 6.1) drb (2.2.1) erubi (1.12.0) factory_bot (6.4.5) @@ -371,7 +371,7 @@ GEM redis-client (0.20.0) connection_pool regexp_parser (2.9.0) - reline (0.4.2) + reline (0.4.3) io-console (~> 0.5) rexml (3.2.6) rotp (6.3.0) @@ -498,7 +498,7 @@ GEM stripe (10.11.0) strong_migrations (1.7.0) activerecord (>= 5.2) - thor (1.3.0) + thor (1.3.1) timeout (0.4.1) turbo-rails (2.0.4) actionpack (>= 6.0.0) diff --git a/spec/components/neighborhood/link_component_spec.rb b/spec/components/neighborhood/link_component_spec.rb index c1eb1495a..7451d00fb 100644 --- a/spec/components/neighborhood/link_component_spec.rb +++ b/spec/components/neighborhood/link_component_spec.rb @@ -12,7 +12,9 @@ context "when an Operator has set custom values" do before do - stub_const("ENV", "NEIGHBORHOOD_NAME" => "Parsley's Persimmons Cooperative", "NEIGHBORHOOD_TAGLINE" => "The Place for Persimmon People", "APP_ROOT_URL" => "https://parsleys-persimmons-coop.example.com") + ENV["NEIGHBORHOOD_NAME"] = "Parsley's Persimmons Cooperative" + ENV["NEIGHBORHOOD_TAGLINE"] = "The Place for Persimmon People" + ENV["APP_ROOT_URL"] = "https://parsleys-persimmons-coop.example.com" end it { is_expected.to have_link("Parsley's Persimmons Cooperative", href: "https://parsleys-persimmons-coop.example.com") } From 918c15175aa88d15ab7344a91ac08b2006b3b85e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 16:35:20 +0000 Subject: [PATCH 61/99] Bump pagy from 7.0.8 to 7.0.9 (#2277) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 632f9bd9d..e6f2ec1a3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -292,7 +292,7 @@ GEM nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - pagy (7.0.8) + pagy (7.0.9) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From 2ec9e898fa2550ca31694ef5f64a977e911021db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Mar 2024 01:10:06 +0000 Subject: [PATCH 62/99] Bump postcss-preset-env from 9.4.0 to 9.5.0 (#2279) --- package.json | 2 +- yarn.lock | 48 +++++++++++++++++++++++++++--------------------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index e8d5b5614..08ea8d0ce 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "postcss-cli": "^11.0.0", "postcss-flexbugs-fixes": "^5.0.2", "postcss-import": "^16.0.1", - "postcss-preset-env": "^9.4.0", + "postcss-preset-env": "^9.5.0", "tailwindcss": "^3.4.1", "trix": "^2.0.10", "webpack": "^5.76.0", diff --git a/yarn.lock b/yarn.lock index 041a0fb9f..a85fd9561 100644 --- a/yarn.lock +++ b/yarn.lock @@ -101,10 +101,10 @@ "@csstools/css-parser-algorithms" "^2.6.0" "@csstools/css-tokenizer" "^2.2.3" -"@csstools/postcss-gradients-interpolation-method@^4.0.10": - version "4.0.10" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.10.tgz#0228a9a2c652c1976358f9731bea0ea4de4bf979" - integrity sha512-PwKOxVuX8lo52bPtPeKjaIp6oH2EzhcBxCndRcvGZKsqZYQ35k9A5G4yihZ+wp7PoxPqDNiXuhQsvQG2lqMpOA== +"@csstools/postcss-gradients-interpolation-method@^4.0.11": + version "4.0.11" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.11.tgz#4e6cf5d6917672058d532d963c709e3776b9ab36" + integrity sha512-LFom5jCVUfzF+iuiOZvhvX7RRN8vc+tKpcKo9s4keEBAU2mPwV5/Fgz5iylEfXP/DZbEdq2C0At20urMi/lupw== dependencies: "@csstools/css-color-parser" "^1.5.2" "@csstools/css-parser-algorithms" "^2.6.0" @@ -286,6 +286,11 @@ resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz#598a25630fd9ab0edf066d235916f7441404942a" integrity sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg== +"@csstools/selector-resolve-nested@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-1.1.0.tgz#d872f2da402d3ce8bd0cf16ea5f9fba76b18e430" + integrity sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg== + "@csstools/selector-specificity@^3.0.2": version "3.0.2" resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.2.tgz#ea61ba7bb24be3502c6aaa3190ed231f4633a81e" @@ -768,7 +773,7 @@ arg@^5.0.2: resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== -autoprefixer@^10.4.17, autoprefixer@^10.4.18: +autoprefixer@^10.4.18: version "10.4.18" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.18.tgz#fcb171a3b017be7cb5d8b7a825f5aacbf2045163" integrity sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g== @@ -940,10 +945,10 @@ css-prefers-color-scheme@^9.0.1: resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz#30fcb94cc38b639b66fb99e1882ffd97f741feaa" integrity sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g== -cssdb@^7.11.0: - version "7.11.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.11.0.tgz#26570bbc92251b719cd74468df710d86c554117f" - integrity sha512-YUVAJhjDcTZzVD5XE49l3PQtGE29vvhzaL1bM3BtkvSmIRJeYENdfn1dn5jauBI7BBF+IyyiBS+oSVx3Hz/Gaw== +cssdb@^7.11.1: + version "7.11.1" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.11.1.tgz#491841b281d337d7e5332e43b282429dd241b377" + integrity sha512-F0nEoX/Rv8ENTHsjMPGHd9opdjGfXkgRBafSUGnQKPzGZFB7Lm0BbT10x21TMOCrKLbVsJ0NoCDMk6AfKqw8/A== cssesc@^3.0.0: version "3.0.0" @@ -1789,11 +1794,12 @@ postcss-nested@^6.0.1: dependencies: postcss-selector-parser "^6.0.11" -postcss-nesting@^12.0.3: - version "12.0.3" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-12.0.3.tgz#ee451e5d2dc3f9f09d68434ddc7ad9d42b7f44e9" - integrity sha512-yrtMRPFNkfZMv9ikBvZ/Eh3RxhpMBKQ3KzD7LCY8+jYVlgju/Mdcxi4JY8bW2Y7ISXw8GTLuF/o+kFtp+yaVfQ== +postcss-nesting@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-12.1.0.tgz#9ecca8da9d0bbfdaa47d3608ccf5ac48bfdfc0d2" + integrity sha512-QOYnosaZ+mlP6plQrAxFw09UUp2Sgtxj1BVHN+rSVbtV0Yx48zRt9/9F/ZOoxOKBBEsaJk2MYhhVRjeRRw5yuw== dependencies: + "@csstools/selector-resolve-nested" "^1.1.0" "@csstools/selector-specificity" "^3.0.2" postcss-selector-parser "^6.0.13" @@ -1821,10 +1827,10 @@ postcss-place@^9.0.1: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-9.4.0.tgz#9896efc0e9896d68316adcf2d314d36f38f04bba" - integrity sha512-5X2UA4Dn4xo7sJFCxlzW/dAGo71Oxh/K5DVls33hd2e3j06OKnW5FJQTw2hB0wTnGv0f6WcMaVBGFqcEfAgwlw== +postcss-preset-env@^9.5.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-9.5.0.tgz#716001c174e0e5283347114805281ca2b4dc7444" + integrity sha512-ZTrTWCSqKVYSABB1GerMBb6F8Uto5YWIq1nqi+TKOHPzrXMcyJNuJTc0v2lp5WjG4Sfvwdo7HF/7/3j7HskRog== dependencies: "@csstools/postcss-cascade-layers" "^4.0.3" "@csstools/postcss-color-function" "^3.0.10" @@ -1832,7 +1838,7 @@ postcss-preset-env@^9.4.0: "@csstools/postcss-exponential-functions" "^1.0.4" "@csstools/postcss-font-format-keywords" "^3.0.2" "@csstools/postcss-gamut-mapping" "^1.0.3" - "@csstools/postcss-gradients-interpolation-method" "^4.0.10" + "@csstools/postcss-gradients-interpolation-method" "^4.0.11" "@csstools/postcss-hwb-function" "^3.0.9" "@csstools/postcss-ic-unit" "^3.0.4" "@csstools/postcss-initial" "^1.0.1" @@ -1855,12 +1861,12 @@ postcss-preset-env@^9.4.0: "@csstools/postcss-text-decoration-shorthand" "^3.0.4" "@csstools/postcss-trigonometric-functions" "^3.0.5" "@csstools/postcss-unset-value" "^3.0.1" - autoprefixer "^10.4.17" + autoprefixer "^10.4.18" browserslist "^4.22.3" css-blank-pseudo "^6.0.1" css-has-pseudo "^6.0.2" css-prefers-color-scheme "^9.0.1" - cssdb "^7.11.0" + cssdb "^7.11.1" postcss-attribute-case-insensitive "^6.0.3" postcss-clamp "^4.1.0" postcss-color-functional-notation "^6.0.5" @@ -1878,7 +1884,7 @@ postcss-preset-env@^9.4.0: postcss-image-set-function "^6.0.3" postcss-lab-function "^6.0.10" postcss-logical "^7.0.1" - postcss-nesting "^12.0.3" + postcss-nesting "^12.1.0" postcss-opacity-percentage "^2.0.0" postcss-overflow-shorthand "^5.0.1" postcss-page-break "^3.0.4" From 491e920ae5d0d140faeda5d1563d4e021f219b92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Mar 2024 01:10:17 +0000 Subject: [PATCH 63/99] Bump lookbook from 2.2.1 to 2.2.2 (#2278) --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e6f2ec1a3..d92ef5b09 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -208,9 +208,9 @@ GEM actionview (>= 5.1, < 7.2) railties (>= 5.1, < 7.2) hashdiff (1.1.0) - htmlbeautifier (1.4.2) + htmlbeautifier (1.4.3) htmlentities (4.3.4) - i18n (1.14.1) + i18n (1.14.4) concurrent-ruby (~> 1.0) i18n-debug (1.2.0) i18n (< 2) @@ -239,7 +239,7 @@ GEM loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) - lookbook (2.2.1) + lookbook (2.2.2) activemodel css_parser htmlbeautifier (~> 1.3) @@ -249,14 +249,14 @@ GEM redcarpet (~> 3.5) rouge (>= 3.26, < 5.0) view_component (>= 2.0) - yard (~> 0.9.25) + yard (~> 0.9) zeitwerk (~> 2.5) mail (2.8.1) mini_mime (>= 0.1.1) net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) matrix (0.4.2) method_source (1.0.0) mini_magick (4.12.0) From a9689316e3f29276abc50526f89c2c48906197b4 Mon Sep 17 00:00:00 2001 From: Ana Ulin Date: Wed, 6 Mar 2024 18:28:48 -0800 Subject: [PATCH 64/99] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Update=20to=20lat?= =?UTF-8?q?est=20Ruby=20and=20Bundler=20version=20(#2280)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update to the latest Ruby version. * Update Bundler. --- .ruby-version | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.ruby-version b/.ruby-version index b347b11ea..15a279981 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.2.3 +3.3.0 diff --git a/Gemfile.lock b/Gemfile.lock index d92ef5b09..485fa4806 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -600,7 +600,7 @@ DEPENDENCIES webmock RUBY VERSION - ruby 3.2.3p157 + ruby 3.3.0p0 BUNDLED WITH - 2.4.12 + 2.5.6 From 41f7ad55cebefc3192832f4dea7c1d211e0628c2 Mon Sep 17 00:00:00 2001 From: Zee Spencer <50284+zspencer@users.noreply.github.com> Date: Wed, 6 Mar 2024 18:39:53 -0800 Subject: [PATCH 65/99] =?UTF-8?q?=F0=9F=A7=B9=20Stop=20enforcing=20short?= =?UTF-8?q?=20system=20specs!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .rubocop.yml | 10 ++++++++++ spec/furniture/journal/writing_entries_system_spec.rb | 2 +- .../marketplace/buying_products_system_spec.rb | 2 +- .../marketplace/collecting_payments_system_spec.rb | 2 +- .../marketplace/selling_products_system_spec.rb | 2 +- .../marketplace/vendor_representatives_system_spec.rb | 2 +- 6 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index fedd29ec9..db04b00a7 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -18,6 +18,12 @@ AllCops: - vendor/bundle/**/* NewCops: enable + +RSpec/Capybara/FeatureMethods: + Exclude: + - '**/*_system_spec.rb' + - spec/system/**/*_spec.rb + RSpec/MultipleExpectations: Enabled: false @@ -29,6 +35,10 @@ RSpec/NestedGroups: RSpec/ExampleLength: Max: 10 + Exclude: + - '**/*_system_spec.rb' + - spec/system/**/*_spec.rb + Style/TrailingCommaInArrayLiteral: Exclude: diff --git a/spec/furniture/journal/writing_entries_system_spec.rb b/spec/furniture/journal/writing_entries_system_spec.rb index bd4be88d4..8cef2b6a0 100644 --- a/spec/furniture/journal/writing_entries_system_spec.rb +++ b/spec/furniture/journal/writing_entries_system_spec.rb @@ -9,7 +9,7 @@ sign_in(space.members.first, space) end - it "saves the headline, summary and body" do # rubocop:disable RSpec/ExampleLength + it "saves the headline, summary and body" do visit(polymorphic_path(journal.location(:new, child: :entry))) body = 1000.times.map { Faker::Books::Dune.quote }.join("\n\n") diff --git a/spec/furniture/marketplace/buying_products_system_spec.rb b/spec/furniture/marketplace/buying_products_system_spec.rb index 7201f4d6a..9d316fc39 100644 --- a/spec/furniture/marketplace/buying_products_system_spec.rb +++ b/spec/furniture/marketplace/buying_products_system_spec.rb @@ -71,7 +71,7 @@ def url_options expect(page).to have_no_content(archived_product.name) end - it "Works for Guests" do # rubocop:disable RSpec/ExampleLength + it "Works for Guests" do visit(polymorphic_path(marketplace.room.location)) add_product_to_cart(marketplace.products.first) diff --git a/spec/furniture/marketplace/collecting_payments_system_spec.rb b/spec/furniture/marketplace/collecting_payments_system_spec.rb index 56e98f17f..801a30bfe 100644 --- a/spec/furniture/marketplace/collecting_payments_system_spec.rb +++ b/spec/furniture/marketplace/collecting_payments_system_spec.rb @@ -10,7 +10,7 @@ sign_in(space.members.first, space) end - it "sets the Distributor's Stripe API Key" do # rubocop:disable RSpec/ExampleLength + it "sets the Distributor's Stripe API Key" do marketplace = create(:marketplace, room: space.entrance) visit polymorphic_path(marketplace.room.location) diff --git a/spec/furniture/marketplace/selling_products_system_spec.rb b/spec/furniture/marketplace/selling_products_system_spec.rb index cf8b7eb6f..2d3cf194f 100644 --- a/spec/furniture/marketplace/selling_products_system_spec.rb +++ b/spec/furniture/marketplace/selling_products_system_spec.rb @@ -16,7 +16,7 @@ # @see https://github.com/zinc-collective/convene/issues/2168 describe "Listing Products for Sale" do - it "Adds the Product to the Menu" do # rubocop:disable RSpec/ExampleLength + it "Adds the Product to the Menu" do visit(polymorphic_path(marketplace.location(child: :products))) click_link("Add a Product") diff --git a/spec/furniture/marketplace/vendor_representatives_system_spec.rb b/spec/furniture/marketplace/vendor_representatives_system_spec.rb index 3eafa5de8..0f7904d50 100644 --- a/spec/furniture/marketplace/vendor_representatives_system_spec.rb +++ b/spec/furniture/marketplace/vendor_representatives_system_spec.rb @@ -10,7 +10,7 @@ end describe "Adding a Vendor Representative" do - it "Requires a Member confirm the Vendor" do # rubocop:disable RSpec/ExampleLength + it "Requires a Member confirm the Vendor" do visit(polymorphic_path(marketplace.location(child: :vendor_representatives))) click_link("Add a Representative") fill_in("Email address", with: "milton@swingline.example.com") From 86524fe274295865668041a51900f6a7f51d1ae1 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Wed, 6 Mar 2024 18:42:30 -0800 Subject: [PATCH 66/99] =?UTF-8?q?=E2=9C=A8=20`Marketplace`:=20Add=20`Produ?= =?UTF-8?q?ct#tags`=20(#2190)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/2189 Lil' quick sketch through the workflow. Only interesting things of note here are I am using `scenario` syntax (which feels better to me, and was validated by @ExMember in antoher context yesterday.) I am also doing something "weird" where I overload the `visit` method to rely on our `Record#location` method to interject a `polymorphic_path` call; saving us the burden of including the `polymorphic_path` call on our own every time we use `visit`; but adding the burden of a layer of indirection. I also did this with `within`, because omg that awkward `"##{dom_id(model)"` drives me nuts every time I type it. It makes me want to scream. I can't stand it. * ✨ `Marketplace`: Adds `Product#tags` Products can now be tagged with things like `Gluten Free` or `Vegan`, and will show up as such under Product listings * ✨ `Tag` labels are case insensitive --- app/furniture/marketplace/bazaar.rb | 1 + app/furniture/marketplace/breadcrumbs.rb | 10 ++++ app/furniture/marketplace/locales/en.yml | 5 ++ .../marketplace/management_component.html.erb | 1 + app/furniture/marketplace/marketplace.rb | 2 + app/furniture/marketplace/policy.rb | 3 +- app/furniture/marketplace/product.rb | 3 ++ .../product/title_component.html.erb | 4 ++ app/furniture/marketplace/product_policy.rb | 2 +- app/furniture/marketplace/product_tag.rb | 8 +++ .../marketplace/products/_form.html.erb | 2 + app/furniture/marketplace/routes.rb | 1 + app/furniture/marketplace/tag.rb | 14 ++++++ app/furniture/marketplace/tag_policy.rb | 32 ++++++++++++ app/furniture/marketplace/tags/_form.html.erb | 6 +++ app/furniture/marketplace/tags/index.html.erb | 20 ++++++++ app/furniture/marketplace/tags/new.html.erb | 2 + app/furniture/marketplace/tags_controller.rb | 31 ++++++++++++ ...8025354_create_marketplace_product_tags.rb | 17 +++++++ db/schema.rb | 19 +++++++ .../marketplace/product_tags_system_spec.rb | 49 +++++++++++++++++++ spec/furniture/marketplace/tag_spec.rb | 5 ++ 22 files changed, 235 insertions(+), 2 deletions(-) create mode 100644 app/furniture/marketplace/product_tag.rb create mode 100644 app/furniture/marketplace/tag.rb create mode 100644 app/furniture/marketplace/tag_policy.rb create mode 100644 app/furniture/marketplace/tags/_form.html.erb create mode 100644 app/furniture/marketplace/tags/index.html.erb create mode 100644 app/furniture/marketplace/tags/new.html.erb create mode 100644 app/furniture/marketplace/tags_controller.rb create mode 100644 db/migrate/20240208025354_create_marketplace_product_tags.rb create mode 100644 spec/furniture/marketplace/product_tags_system_spec.rb create mode 100644 spec/furniture/marketplace/tag_spec.rb diff --git a/app/furniture/marketplace/bazaar.rb b/app/furniture/marketplace/bazaar.rb index 2f4362604..eee8c4763 100644 --- a/app/furniture/marketplace/bazaar.rb +++ b/app/furniture/marketplace/bazaar.rb @@ -4,6 +4,7 @@ class Marketplace class Bazaar < ::Space has_many :marketplaces, through: :rooms, source: :gizmos, inverse_of: :bazaar, class_name: "Marketplace" has_many :tax_rates, inverse_of: :bazaar, dependent: :destroy + has_many :tags, inverse_of: :bazaar, dependent: :destroy def space becomes(Space) diff --git a/app/furniture/marketplace/breadcrumbs.rb b/app/furniture/marketplace/breadcrumbs.rb index c26cb14ab..b09a1e3ff 100644 --- a/app/furniture/marketplace/breadcrumbs.rb +++ b/app/furniture/marketplace/breadcrumbs.rb @@ -104,6 +104,16 @@ link t("marketplace.stripe_accounts.show.link_to"), marketplace.location(child: :stripe_account) end +crumb :marketplace_tags do |marketplace| + parent :edit_marketplace, marketplace + link(t("marketplace.tags.index.link_to"), marketplace.location(child: :tags)) +end + +crumb :new_marketplace_tag do |tag| + parent :marketplace_tags, tag.marketplace + link t("marketplace.tags.new.link_to"), marketplace.location(:new, child: :tag) +end + crumb :marketplace_tax_rates do |marketplace| parent :edit_marketplace, marketplace link t("marketplace.tax_rates.index.link_to"), marketplace.location(child: :tax_rates) diff --git a/app/furniture/marketplace/locales/en.yml b/app/furniture/marketplace/locales/en.yml index a8c0aa18a..4da9047a0 100644 --- a/app/furniture/marketplace/locales/en.yml +++ b/app/furniture/marketplace/locales/en.yml @@ -136,3 +136,8 @@ en: payment_settings: index: link_to: "Payment Settings" + tags: + index: + link_to: "Tags" + new: + link_to: "Add Tag" diff --git a/app/furniture/marketplace/management_component.html.erb b/app/furniture/marketplace/management_component.html.erb index 5c7b32a85..76d802a9a 100644 --- a/app/furniture/marketplace/management_component.html.erb +++ b/app/furniture/marketplace/management_component.html.erb @@ -21,6 +21,7 @@ <%= link_to_child(:notification_methods, icon: :bell_alert) if policy(marketplace.notification_methods).index? %> <%= link_to_child(:flyer, icon: :qr_code) if policy(marketplace.flyer).show? %> <%= link_to_child(:vendor_representatives, icon: :building_storefront) if policy(marketplace.vendor_representatives).index? %> + <%= link_to_child(:tags, icon: :tag) if policy(marketplace.tags).index? %> <% end %> <% end %> diff --git a/app/furniture/marketplace/marketplace.rb b/app/furniture/marketplace/marketplace.rb index 0cd4a250a..1031296b2 100644 --- a/app/furniture/marketplace/marketplace.rb +++ b/app/furniture/marketplace/marketplace.rb @@ -9,6 +9,8 @@ class Marketplace < Furniture # @todo replace with through :bazaar has_many :tax_rates, inverse_of: :marketplace + has_many :tags, through: :bazaar + has_many :products, inverse_of: :marketplace, dependent: :destroy has_many :carts, inverse_of: :marketplace, dependent: :destroy has_many :orders, inverse_of: :marketplace diff --git a/app/furniture/marketplace/policy.rb b/app/furniture/marketplace/policy.rb index bbad7025c..f0912237f 100644 --- a/app/furniture/marketplace/policy.rb +++ b/app/furniture/marketplace/policy.rb @@ -2,7 +2,7 @@ class Marketplace class Policy < ApplicationPolicy def create? return true if current_person.operator? - return true if current_person.member_of?(marketplace.space) + return true if current_person.member_of?(space) return true if shopper&.person.blank? && !current_person.authenticated? @@ -23,6 +23,7 @@ def marketplace object.marketplace if object.respond_to?(:marketplace) end + delegate :space, to: :marketplace module SpecFactories def self.included(spec) diff --git a/app/furniture/marketplace/product.rb b/app/furniture/marketplace/product.rb index 93e2dd6d2..be06f3411 100644 --- a/app/furniture/marketplace/product.rb +++ b/app/furniture/marketplace/product.rb @@ -26,6 +26,9 @@ class Product < Record has_many :ordered_products, inverse_of: :product, dependent: :destroy has_many :orders, -> { checked_out }, through: :ordered_products, inverse_of: :products + has_many :product_tags, inverse_of: :product, dependent: :destroy + has_many :tags, through: :product_tags, inverse_of: :products + has_many :product_tax_rates, inverse_of: :product, dependent: :destroy has_many :tax_rates, through: :product_tax_rates, inverse_of: :products diff --git a/app/furniture/marketplace/product/title_component.html.erb b/app/furniture/marketplace/product/title_component.html.erb index 9f21e96af..b5626e5b9 100644 --- a/app/furniture/marketplace/product/title_component.html.erb +++ b/app/furniture/marketplace/product/title_component.html.erb @@ -2,3 +2,7 @@ <%- if servings.present? %>

    Serves <%= servings %>

    <%- end %> + +<%- if product.tags.present? %> +

    (<%= product.tags.pluck(:label).join(", ") %>)

    +<%- end %> diff --git a/app/furniture/marketplace/product_policy.rb b/app/furniture/marketplace/product_policy.rb index ef63c0979..3b8d09636 100644 --- a/app/furniture/marketplace/product_policy.rb +++ b/app/furniture/marketplace/product_policy.rb @@ -4,7 +4,7 @@ class Marketplace class ProductPolicy < Policy alias_method :product, :object def permitted_attributes(_params = nil) - %i[name description price_cents price_currency price photo restore servings] + [tax_rate_ids: []] + %i[name description price_cents price_currency price photo restore servings] + [tag_ids: [], tax_rate_ids: []] end def update? diff --git a/app/furniture/marketplace/product_tag.rb b/app/furniture/marketplace/product_tag.rb new file mode 100644 index 000000000..368ddacd3 --- /dev/null +++ b/app/furniture/marketplace/product_tag.rb @@ -0,0 +1,8 @@ +class Marketplace + class ProductTag < Record + self.table_name = :marketplace_product_tags + + belongs_to :product, inverse_of: :product_tags + belongs_to :tag, inverse_of: :product_tags + end +end diff --git a/app/furniture/marketplace/products/_form.html.erb b/app/furniture/marketplace/products/_form.html.erb index c4e3f705b..4a38ab9db 100644 --- a/app/furniture/marketplace/products/_form.html.erb +++ b/app/furniture/marketplace/products/_form.html.erb @@ -5,6 +5,8 @@ <%= render "number_field", { attribute: :servings, form: f, min: 0, step: 1} %> <%= render "money_field", { attribute: :price, form: f, min: 0, step: 0.01} %> + <%= render "collection_check_boxes", { attribute: :tag_ids, collection: bazaar.tags, value_method: :id, + text_method: :label, form: f} %> <%= render "collection_check_boxes", { attribute: :tax_rate_ids, collection: bazaar.tax_rates, value_method: :id, text_method: :label, form: f} %> <%- if product.photo.present? %>
    diff --git a/app/furniture/marketplace/routes.rb b/app/furniture/marketplace/routes.rb index d8bb9061d..52ae8e6e0 100644 --- a/app/furniture/marketplace/routes.rb +++ b/app/furniture/marketplace/routes.rb @@ -16,6 +16,7 @@ def self.append_routes(router) router.resources :products router.resource :stripe_account, only: [:show, :new, :create] router.resources :stripe_events + router.resources :tags router.resources :tax_rates router.resources :vendor_representatives router.resources :payment_settings, only: [:index] diff --git a/app/furniture/marketplace/tag.rb b/app/furniture/marketplace/tag.rb new file mode 100644 index 000000000..9d8e98db2 --- /dev/null +++ b/app/furniture/marketplace/tag.rb @@ -0,0 +1,14 @@ +class Marketplace + class Tag < Record + self.table_name = "marketplace_tags" + + belongs_to :bazaar, inverse_of: :tags + has_many :product_tags, inverse_of: :tag, dependent: :destroy + has_many :products, through: :product_tags, inverse_of: :tags + + validates :label, uniqueness: {case_sensitive: false, scope: :bazaar_id} + + attr_accessor :marketplace + location(parent: :marketplace) + end +end diff --git a/app/furniture/marketplace/tag_policy.rb b/app/furniture/marketplace/tag_policy.rb new file mode 100644 index 000000000..cd43c1be4 --- /dev/null +++ b/app/furniture/marketplace/tag_policy.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +class Marketplace + class TagPolicy < Policy + alias_method :tag, :object + def space + tag.bazaar + end + + def permitted_attributes(_params = nil) + %i[label] + end + + def update? + return false unless current_person.authenticated? + + super + end + + alias_method :create?, :update? + + def show? + true + end + + class Scope < ApplicationScope + def resolve + scope.all + end + end + end +end diff --git a/app/furniture/marketplace/tags/_form.html.erb b/app/furniture/marketplace/tags/_form.html.erb new file mode 100644 index 000000000..acd3ab69e --- /dev/null +++ b/app/furniture/marketplace/tags/_form.html.erb @@ -0,0 +1,6 @@ +<%= form_with(model: tag.location) do |form| %> + +<%= render "text_field", attribute: :label, form: form %> + +<%= form.submit %> +<%- end %> diff --git a/app/furniture/marketplace/tags/index.html.erb b/app/furniture/marketplace/tags/index.html.erb new file mode 100644 index 000000000..61832ff4c --- /dev/null +++ b/app/furniture/marketplace/tags/index.html.erb @@ -0,0 +1,20 @@ +<%- breadcrumb :marketplace_tags, marketplace %> + +<%= render CardComponent.new do |card| %> + + <%- marketplace.tags.each do |tag| %> + <%- tag.marketplace = marketplace %> +
    + + <%= tag.label %> + +
    + <%- end %> + + <%- card.with_footer(variant: :action_bar) do %> + <%- new_tag = bazaar.tags.new %> + <%- if policy(new_tag).create? %> + <%= link_to t("marketplace.tags.new.link_to"), marketplace.location(:new, child: :tag), class: "button w-full" %> + <%- end %> + <%- end %> +<%- end %> diff --git a/app/furniture/marketplace/tags/new.html.erb b/app/furniture/marketplace/tags/new.html.erb new file mode 100644 index 000000000..d5e9383ef --- /dev/null +++ b/app/furniture/marketplace/tags/new.html.erb @@ -0,0 +1,2 @@ +<%- breadcrumb :new_marketplace_tag, mtag %> +<%= render "form", tag: mtag %> diff --git a/app/furniture/marketplace/tags_controller.rb b/app/furniture/marketplace/tags_controller.rb new file mode 100644 index 000000000..8e25ffb8a --- /dev/null +++ b/app/furniture/marketplace/tags_controller.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +class Marketplace + class TagsController < Controller + # Apparently, `tag` is used inside of `turbo_frame_tag`, so if we define a + # helper_method named `tag` our method gets called when it really shouldn't + # be... so `mtag` it is. For now. + expose :mtag, scope: -> { tags }, model: Tag + expose :tags, -> { policy_scope(bazaar.tags.create_with(marketplace: marketplace)) } + + def new + authorize(mtag) + end + + def create + if authorize(mtag).save + redirect_to marketplace.location(child: :tags) + else + render :new + end + end + + def index + skip_authorization + end + + def mtag_params + policy(Tag).permit(params.require(:tag)) + end + end +end diff --git a/db/migrate/20240208025354_create_marketplace_product_tags.rb b/db/migrate/20240208025354_create_marketplace_product_tags.rb new file mode 100644 index 000000000..4e1fcfaad --- /dev/null +++ b/db/migrate/20240208025354_create_marketplace_product_tags.rb @@ -0,0 +1,17 @@ +class CreateMarketplaceProductTags < ActiveRecord::Migration[7.1] + def change + create_table :marketplace_tags, id: :uuid do |t| + t.references :bazaar, type: :uuid + t.string :label + + t.timestamps + end + + create_table :marketplace_product_tags, id: :uuid do |t| + t.references :product, type: :uuid, foreign_key: {to_table: :marketplace_products} + t.references :tag, type: :uuid, foreign_key: {to_table: :marketplace_tags} + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 378aa23c1..c1fdcaeb2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -202,6 +202,15 @@ t.index ["shopper_id"], name: "index_marketplace_orders_on_shopper_id" end + create_table "marketplace_product_tags", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "product_id" + t.uuid "tag_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["product_id"], name: "index_marketplace_product_tags_on_product_id" + t.index ["tag_id"], name: "index_marketplace_product_tags_on_tag_id" + end + create_table "marketplace_product_tax_rates", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "tax_rate_id" t.uuid "product_id" @@ -231,6 +240,14 @@ t.index ["person_id"], name: "index_marketplace_shoppers_on_person_id", unique: true end + create_table "marketplace_tags", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "bazaar_id" + t.string "label" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["bazaar_id"], name: "index_marketplace_tags_on_bazaar_id" + end + create_table "marketplace_tax_rates", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.float "tax_rate" t.string "label" @@ -337,6 +354,8 @@ add_foreign_key "marketplace_notification_methods", "furnitures", column: "marketplace_id" add_foreign_key "marketplace_orders", "marketplace_delivery_areas", column: "delivery_area_id" add_foreign_key "marketplace_orders", "marketplace_shoppers", column: "shopper_id" + add_foreign_key "marketplace_product_tags", "marketplace_products", column: "product_id" + add_foreign_key "marketplace_product_tags", "marketplace_tags", column: "tag_id" add_foreign_key "marketplace_product_tax_rates", "marketplace_products", column: "product_id" add_foreign_key "marketplace_product_tax_rates", "marketplace_tax_rates", column: "tax_rate_id" add_foreign_key "marketplace_products", "furnitures", column: "marketplace_id" diff --git a/spec/furniture/marketplace/product_tags_system_spec.rb b/spec/furniture/marketplace/product_tags_system_spec.rb new file mode 100644 index 000000000..a4b642844 --- /dev/null +++ b/spec/furniture/marketplace/product_tags_system_spec.rb @@ -0,0 +1,49 @@ +require "rails_helper" + +describe "Product Tags", type: :system do + let(:space) { create(:space, :with_entrance, :with_members) } + let(:marketplace) { create(:marketplace, :ready_for_shopping, room: space.entrance) } + + before do + sign_in(space.members.first, space) + end + + scenario "Adding Tags to a Product" do # rubocop:disable RSpec/Capybara/FeatureMethods,RSpec/ExampleLength + muffins = create(:marketplace_product, marketplace:, name: "Mazin' Muffins", description: "Buttery corn muffins") + + visit(marketplace) + click_link("Tags") + + click_link("Add Tag") + + fill_in("Label", with: "🚫🌾 Gluten Free") + + click_button("Create") + + click_link("Products") + within(muffins) do + click_link("⚙️ Edit") + end + + check("🚫🌾 Gluten Free") + click_button("Save") + + visit(marketplace) + + within(muffins) do + expect(page).to have_content("🚫🌾 Gluten Free") + end + end + + def visit(object_or_path) + if object_or_path.respond_to?(:location) + super(polymorphic_path(object_or_path.location)) + else + super + end + end + + def within(model, *, **, &block) + page.within("##{dom_id(model)}", *, **, &block) + end +end diff --git a/spec/furniture/marketplace/tag_spec.rb b/spec/furniture/marketplace/tag_spec.rb new file mode 100644 index 000000000..82d0d9849 --- /dev/null +++ b/spec/furniture/marketplace/tag_spec.rb @@ -0,0 +1,5 @@ +require "rails_helper" + +RSpec.describe Marketplace::Tag, type: :model do + it { is_expected.to validate_uniqueness_of(:label).case_insensitive.scoped_to(:bazaar_id) } +end From 69a7a076660b63fecf0d5b52a2e4fe55f8e2d922 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Wed, 6 Mar 2024 19:41:36 -0800 Subject: [PATCH 67/99] =?UTF-8?q?=F0=9F=A7=B9=20Unfutz=20the=20broken=20li?= =?UTF-8?q?nter=20(#2282)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I accidentally pushed right to `main`. It was not great. Now our linter is sad. This makes it less sad. --- .rubocop_todo.yml | 18 ++---------------- spec/requests/rsvps_controller_request_spec.rb | 4 ++-- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 915b0b212..3a30e0858 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 2000` -# on 2023-09-14 00:31:11 UTC using RuboCop version 1.56.3. +# on 2024-03-07 02:44:05 UTC using RuboCop version 1.61.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -32,12 +32,6 @@ RSpec/DescribeClass: Exclude: - 'spec/tasks/release_after_build_spec.rb' -# Offense count: 2 -# Configuration parameters: Max, CountAsOne. -RSpec/ExampleLength: - Exclude: - - 'spec/requests/rsvps_controller_request_spec.rb' - # Offense count: 1 RSpec/LeakyConstantDeclaration: Exclude: @@ -57,14 +51,7 @@ RSpec/NamedSubject: - 'spec/models/invitation_spec.rb' - 'spec/models/membership_spec.rb' -# Offense count: 1 -# Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata. -# Include: **/*_spec.rb -RSpec/SpecFilePathFormat: - Exclude: - - 'spec/furniture/journal/entries_request_spec.rb' - -# Offense count: 8 +# Offense count: 6 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: slashes, arguments @@ -73,7 +60,6 @@ Rails/FilePath: - 'config/application.rb' - 'config/environments/development.rb' - 'config/initializers/gretel.rb' - - 'spec/rails_helper.rb' # Offense count: 1 # Configuration parameters: Include. diff --git a/spec/requests/rsvps_controller_request_spec.rb b/spec/requests/rsvps_controller_request_spec.rb index ef5e43438..a8da23bb8 100644 --- a/spec/requests/rsvps_controller_request_spec.rb +++ b/spec/requests/rsvps_controller_request_spec.rb @@ -29,7 +29,7 @@ context "without the one-time-code" do let(:rsvp_params) { {status: :accepted} } - it "doesnt complete the invitation" do + it "doesnt complete the invitation" do # rubocop:disable RSpec/ExampleLength expect { request }.to have_enqueued_mail( AuthenticatedSessionMailer, :one_time_password_email ) @@ -57,7 +57,7 @@ {status: :accepted, one_time_password: authentication_method.one_time_password} end - it "completes the invitation and confirms their authentication method" do + it "completes the invitation and confirms their authentication method" do # rubocop:disable RSpec/ExampleLength expect { request }.not_to have_enqueued_mail( AuthenticatedSessionMailer, :one_time_password_email ) From 7e2454200f60ea4ed55cd82a91abaff17d9979c7 Mon Sep 17 00:00:00 2001 From: Zee <50284+zspencer@users.noreply.github.com> Date: Thu, 7 Mar 2024 09:36:27 -0800 Subject: [PATCH 68/99] =?UTF-8?q?=F0=9F=8C=B8=20`DesignLibrary`:=20Layout?= =?UTF-8?q?=20is=20responsible=20for....=20Layout...=20(#2281)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/issues/1187 - https://github.com/zinc-collective/convene/issues/2271 - https://github.com/zinc-collective/convene/issues/2253 One of the things we've kept bumping into is that each page has to decide how wide it wants to be. That doesn't really seem sustainable or particularly necessary; so now the Layout takes care of: - Providing a Max-Width on every page - Ensuring the Layout is centered horizontally - Ensuring there is appropriate margin from the top of the screen --- .../journal/journals/_journal.html.erb | 17 ++++----- app/furniture/layouts/marketplace.html.erb | 37 +++++++++---------- .../marketplace/orders/index.html.erb | 7 ++-- .../marketplace/orders/show.html.erb | 5 +-- app/views/authenticated_sessions/new.html.erb | 4 +- app/views/layouts/application.html.erb | 3 +- app/views/neighborhoods/show.html.erb | 22 +++++------ app/views/rooms/_room.html.erb | 11 +++--- .../space/agreements/_agreement.html.erb | 2 +- 9 files changed, 51 insertions(+), 57 deletions(-) diff --git a/app/furniture/journal/journals/_journal.html.erb b/app/furniture/journal/journals/_journal.html.erb index 2b37d4016..b9e325396 100644 --- a/app/furniture/journal/journals/_journal.html.erb +++ b/app/furniture/journal/journals/_journal.html.erb @@ -1,13 +1,12 @@ -
    - <%= render Journal::NewEntryButtonComponent.new(journal: journal) %> -
    - <%- @pagy, @entries = pagy(policy_scope(journal.entries.recent)) %> +<%= render Journal::NewEntryButtonComponent.new(journal: journal) %> - <%= render Journal::EntryComponent.with_collection(@entries) %> -
    +
    + <%- @pagy, @entries = pagy(policy_scope(journal.entries.recent)) %> - <%== pagy_nav(@pagy) %> + <%= render Journal::EntryComponent.with_collection(@entries) %> +
    - <%= render Journal::NewEntryButtonComponent.new(journal: journal) %> -
    +<%== pagy_nav(@pagy) %> + +<%= render Journal::NewEntryButtonComponent.new(journal: journal) %> diff --git a/app/furniture/layouts/marketplace.html.erb b/app/furniture/layouts/marketplace.html.erb index 8dadf9bec..4e8595cc9 100644 --- a/app/furniture/layouts/marketplace.html.erb +++ b/app/furniture/layouts/marketplace.html.erb @@ -1,25 +1,24 @@ <%- content_for :content do %> -
    -
    - <%= turbo_frame_tag(marketplace, data: { turbo_action: :advance }) do %> - <%- if policy(marketplace).edit? %> - <%= render Marketplace::ManagementComponent.new(marketplace: marketplace) do %> - <%= yield %> - <%- end %> - <%- else %> -
    -
    -

    - <%= t('.header', space: marketplace.space.name, room: marketplace.room.name) %> -

    -
    -
    - <%= yield %> -
    -
    +
    + <%= turbo_frame_tag(marketplace, data: { turbo_action: :advance }) do %> + <%- if policy(marketplace).edit? %> + <%= render Marketplace::ManagementComponent.new(marketplace: marketplace) do %> + <%= yield %> <%- end %> + <%- else %> +
    +
    +

    + <%= t('.header', space: marketplace.space.name, room: marketplace.room.name) %> +

    +
    +
    + <%= yield %> +
    +
    <%- end %> <%- end %> -
    + <%- end %>
    + <%= render template: "layouts/application" %> diff --git a/app/furniture/marketplace/orders/index.html.erb b/app/furniture/marketplace/orders/index.html.erb index bfad34999..e43d72d3d 100644 --- a/app/furniture/marketplace/orders/index.html.erb +++ b/app/furniture/marketplace/orders/index.html.erb @@ -1,6 +1,5 @@ <%- breadcrumb :marketplace_orders, marketplace %> <%- @pagy, @records = pagy(orders.paid) %> -
    - <%= render @records %> - <%== pagy_nav(@pagy) if @pagy.pages > 1 %> -
    + +<%= render @records %> +<%== pagy_nav(@pagy) if @pagy.pages > 1 %> diff --git a/app/furniture/marketplace/orders/show.html.erb b/app/furniture/marketplace/orders/show.html.erb index 9e0d331e1..da22fa28b 100644 --- a/app/furniture/marketplace/orders/show.html.erb +++ b/app/furniture/marketplace/orders/show.html.erb @@ -1,4 +1,3 @@ <%- breadcrumb :marketplace_order, order%> -
    - <%= render order %> -
    + +<%= render order %> diff --git a/app/views/authenticated_sessions/new.html.erb b/app/views/authenticated_sessions/new.html.erb index a05607cea..9bb76d10a 100644 --- a/app/views/authenticated_sessions/new.html.erb +++ b/app/views/authenticated_sessions/new.html.erb @@ -1,3 +1 @@ -
    - <%= render partial: 'form', locals: { authenticated_session: authenticated_session } %> -
    +<%= render partial: 'form', locals: { authenticated_session: authenticated_session } %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index ee4bfa50d..ecccf470a 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -5,7 +5,8 @@ <%= render 'layouts/header' %> -
    +
    <%= content_for?(:content) ? yield(:content) : yield %>
    diff --git a/app/views/neighborhoods/show.html.erb b/app/views/neighborhoods/show.html.erb index 2afbedbd0..fc24c1ab5 100644 --- a/app/views/neighborhoods/show.html.erb +++ b/app/views/neighborhoods/show.html.erb @@ -1,18 +1,18 @@ <%- @pagy, @records = pagy(policy_scope(neighborhood.spaces)) %> -
    -
    - <%= render @records %> -
    - <%== pagy_nav(@pagy) %> +
    + <%= render @records %> +
    + +<%== pagy_nav(@pagy) %> + +<%- if policy(Space).new? %> +
    + <%= link_to "Add a Space",[:new, :space] %> +
    +<%- end %> - <%- if policy(Space).new? %> -
    - <%= link_to "Add a Space",[:new, :space] %> -
    - <%- end %> -
    <%- if !neighborhood.email_configured? %>

    It looks like you haven't configured Convene to send email. Check the .env.example file for variables named with SMTP and make sure each is set with your email providers configuration.

    diff --git a/app/views/rooms/_room.html.erb b/app/views/rooms/_room.html.erb index 74e76616d..e1ace6dcf 100644 --- a/app/views/rooms/_room.html.erb +++ b/app/views/rooms/_room.html.erb @@ -1,10 +1,9 @@ <%- if room.hero_image&.upload.present? %> <%= image_tag room.hero_image&.upload&.variant(resize_to_fill: Media::FULL_WIDTH_SHORT), class: "w-full" %> <%- end %> -
    -
    -
    - <%= render room.gizmos.rank(:slot) %> -
    -
    + +
    +
    + <%= render room.gizmos.rank(:slot) %> +
    diff --git a/app/views/space/agreements/_agreement.html.erb b/app/views/space/agreements/_agreement.html.erb index da9ada150..faaf6ef14 100644 --- a/app/views/space/agreements/_agreement.html.erb +++ b/app/views/space/agreements/_agreement.html.erb @@ -1,4 +1,4 @@ -<%= render CardComponent.new(dom_id: dom_id(agreement), classes: "mx-auto mt-2 max-w-prose w-full") do %> +<%= render CardComponent.new(dom_id: dom_id(agreement)) do %>

    <%= agreement.name %>

    From deb6dee91260ebf76fa3be735353cb649c422ba6 Mon Sep 17 00:00:00 2001 From: Ana Ulin Date: Thu, 7 Mar 2024 17:34:58 -0800 Subject: [PATCH 69/99] =?UTF-8?q?=F0=9F=8C=B8=20Make=20cards=20in=20the=20?= =?UTF-8?q?section=20navigation=20all=20have=20the=20same=20height=20(#228?= =?UTF-8?q?3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Expand seeds.rb with hero images and room descriptions. * Make section navigation cards be all the same height. --- .../_section_navigation.html.erb | 2 +- db/seeds.rb | 13 +++++++++++-- spec/factories/media.rb | 4 ++++ spec/fixtures/files/cc-journal.jpg | Bin 0 -> 113097 bytes 4 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 spec/fixtures/files/cc-journal.jpg diff --git a/app/furniture/section_navigation/section_navigations/_section_navigation.html.erb b/app/furniture/section_navigation/section_navigations/_section_navigation.html.erb index e737fceec..3e1d04903 100644 --- a/app/furniture/section_navigation/section_navigations/_section_navigation.html.erb +++ b/app/furniture/section_navigation/section_navigations/_section_navigation.html.erb @@ -1,7 +1,7 @@
    <% policy_scope(section_navigation.rooms).each do |room| %> <%= link_to polymorphic_path(room.location), id: dom_id(room, :link_to), class: "group no-underline" do %> - <%= render CardComponent.new(media: room.hero_image, classes: "flex flex-col justify-between") do |card| %> + <%= render CardComponent.new(media: room.hero_image, classes: "flex flex-col justify-between h-full") do |card| %>

    <%= room.description %>