diff --git a/app/assets/js/components/Work/Tabs/Administrative/General.jsx b/app/assets/js/components/Work/Tabs/Administrative/General.jsx index 910e57c3f..6a7cc7396 100644 --- a/app/assets/js/components/Work/Tabs/Administrative/General.jsx +++ b/app/assets/js/components/Work/Tabs/Administrative/General.jsx @@ -101,7 +101,7 @@ function WorkAdministrativeTabsGeneral({ className="break-word" onClick={() => handlePassedInSearchTerm( - "administrativeMetadata.status.label", + "status", status.label ) } diff --git a/app/assets/js/components/Work/Tabs/Structure/Structure.jsx b/app/assets/js/components/Work/Tabs/Structure/Structure.jsx index b099bdeb1..fea5071f0 100644 --- a/app/assets/js/components/Work/Tabs/Structure/Structure.jsx +++ b/app/assets/js/components/Work/Tabs/Structure/Structure.jsx @@ -128,7 +128,7 @@ const WorkTabsStructure = ({ work }) => { name="work-structure-form" onSubmit={methods.handleSubmit(onSubmit)} > - + {!isEditing && ( - + {confirmDelete ? ( + + ) : ( + + )} diff --git a/app/assets/js/components/Work/Tabs/Tabs.jsx b/app/assets/js/components/Work/Tabs/Tabs.jsx index 7d969465a..b10fef61a 100644 --- a/app/assets/js/components/Work/Tabs/Tabs.jsx +++ b/app/assets/js/components/Work/Tabs/Tabs.jsx @@ -48,7 +48,7 @@ const WorkTabs = ({ work }) => { data-testid="tab-structure" onClick={handleTabClick} > - Structure + Access files diff --git a/app/assets/js/services/reactive-search.js b/app/assets/js/services/reactive-search.js index 57c276d30..4f8378be9 100644 --- a/app/assets/js/services/reactive-search.js +++ b/app/assets/js/services/reactive-search.js @@ -186,6 +186,13 @@ export const FACET_SENSORS = [ showSearch: true, title: "Subject", }, + { + ...defaultListItemValues, + componentId: "Status", + dataField: "status", + showSearch: true, + title: "Status", + }, { ...defaultListItemValues, componentId: "StylePeriod", diff --git a/app/assets/package-lock.json b/app/assets/package-lock.json index 6d5655a00..a39d0d709 100644 --- a/app/assets/package-lock.json +++ b/app/assets/package-lock.json @@ -7,21 +7,21 @@ "license": "MIT", "dependencies": { "@absinthe/socket-apollo-link": "^0.2.1", - "@apollo/client": "*", + "@apollo/client": "latest", "@apollo/react-hooks": "^4.0.0", "@apollo/react-testing": "^4.0.0", "@appbaseio/reactivesearch": "3.23.1", - "@aws-sdk/client-s3": "^3.669.0", + "@aws-sdk/client-s3": "^3.675.0", "@emotion/react": "^11.13.3", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-brands-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", - "@honeybadger-io/js": "^6.10.0", + "@honeybadger-io/js": "^6.10.1", "@honeybadger-io/react": "^6.1.7", "@nulib/design-system": "^1.5.1", "@radix-ui/react-dialog": "^1.1.2", - "@samvera/clover-iiif": "^2.10.1", + "@samvera/clover-iiif": "^2.10.2", "@samvera/image-downloader": "^1.1.1", "bulma": "^0.9.4", "bulma-checkradio": "^2.1.3", @@ -38,7 +38,7 @@ "file-saver": "^2.0.5", "graphql": "^16.9.0", "graphql-tag": "^2.12.6", - "hls.js": "^1.5.16", + "hls.js": "^1.5.17", "inflection": "^3.0.0", "jest-environment-jsdom": "^29.7.0", "js-cookie": "^3.0.5", @@ -51,7 +51,7 @@ "react-csv": "^2.2.2", "react-device-detect": "^2.2.3", "react-dropzone": "^14.2.9", - "react-error-boundary": "^4.0.13", + "react-error-boundary": "^4.1.2", "react-helmet": "^6.1.0", "react-hook-form": "^7.33.1", "react-icons": "^5.3.0", @@ -102,7 +102,7 @@ "react-dom": "^18.3.1", "react-router-dom": "^5.3.0", "react-router-prop-types": "^1.0.5", - "sass": "^1.79.4", + "sass": "^1.80.3", "ts-node": "^10.9.2", "typescript": "^5.6.3", "use-phoenix-channel": "^1.1.1" @@ -800,17 +800,17 @@ } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.669.0.tgz", - "integrity": "sha512-diqkwSqWjgAZ5NdYOtpYI/JlwsFDmo7x2Q+QOHevFaCEp4vgZOwJyXE3DQbKoO1X10fMH2vOUULgonPJd4ClUQ==", + "version": "3.675.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.675.0.tgz", + "integrity": "sha512-WKPc9fwFsD0SrWmrj0MdMHE+hQ0YAIGLqACmTnL1yW76qAwjIlFa9TAhR8f29aVCQodt/I6HDf9dHX/F+GyDFg==", "dependencies": { "@aws-crypto/sha1-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.669.0", - "@aws-sdk/client-sts": "3.669.0", + "@aws-sdk/client-sso-oidc": "3.675.0", + "@aws-sdk/client-sts": "3.675.0", "@aws-sdk/core": "3.667.0", - "@aws-sdk/credential-provider-node": "3.669.0", + "@aws-sdk/credential-provider-node": "3.675.0", "@aws-sdk/middleware-bucket-endpoint": "3.667.0", "@aws-sdk/middleware-expect-continue": "3.667.0", "@aws-sdk/middleware-flexible-checksums": "3.669.0", @@ -818,14 +818,14 @@ "@aws-sdk/middleware-location-constraint": "3.667.0", "@aws-sdk/middleware-logger": "3.667.0", "@aws-sdk/middleware-recursion-detection": "3.667.0", - "@aws-sdk/middleware-sdk-s3": "3.669.0", + "@aws-sdk/middleware-sdk-s3": "3.674.0", "@aws-sdk/middleware-ssec": "3.667.0", "@aws-sdk/middleware-user-agent": "3.669.0", "@aws-sdk/region-config-resolver": "3.667.0", - "@aws-sdk/signature-v4-multi-region": "3.669.0", + "@aws-sdk/signature-v4-multi-region": "3.674.0", "@aws-sdk/types": "3.667.0", "@aws-sdk/util-endpoints": "3.667.0", - "@aws-sdk/util-user-agent-browser": "3.667.0", + "@aws-sdk/util-user-agent-browser": "3.675.0", "@aws-sdk/util-user-agent-node": "3.669.0", "@aws-sdk/xml-builder": "3.662.0", "@smithy/config-resolver": "^3.0.9", @@ -868,9 +868,9 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.669.0.tgz", - "integrity": "sha512-WNpfNYIHzehLv98F+KolJglXNjJOTbOvIbSZ2XAnebVLmXCWeEEd1r4dIH0oI2dHtLbQ/h3uqaeQhsVQjLAxpw==", + "version": "3.675.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.675.0.tgz", + "integrity": "sha512-2goBCEr4acZJ1YJ69eWPTsIfZUbO7enog+lBA5kZShDiwovqzwYSHSlf6OGz4ETs2xT1n7n+QfKY0p+TluTfEw==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -882,7 +882,7 @@ "@aws-sdk/region-config-resolver": "3.667.0", "@aws-sdk/types": "3.667.0", "@aws-sdk/util-endpoints": "3.667.0", - "@aws-sdk/util-user-agent-browser": "3.667.0", + "@aws-sdk/util-user-agent-browser": "3.675.0", "@aws-sdk/util-user-agent-node": "3.669.0", "@smithy/config-resolver": "^3.0.9", "@smithy/core": "^2.4.8", @@ -916,14 +916,14 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.669.0.tgz", - "integrity": "sha512-E7uYOS3Axhe36Zeq6iLC9kjF1mMEyCQ4fXud11h22rbjq7PFUtN2Omekrch37eUx3BFj1jMePnuTnT98t5LWnw==", + "version": "3.675.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.675.0.tgz", + "integrity": "sha512-4kEcaa2P/BFz+xy5tagbtzM08gbjHXyYqW+n6SJuUFK7N6bZNnA4cu1hVgHcqOqk8Dbwv7fiseGT0x3Hhqjwqg==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.667.0", - "@aws-sdk/credential-provider-node": "3.669.0", + "@aws-sdk/credential-provider-node": "3.675.0", "@aws-sdk/middleware-host-header": "3.667.0", "@aws-sdk/middleware-logger": "3.667.0", "@aws-sdk/middleware-recursion-detection": "3.667.0", @@ -931,7 +931,7 @@ "@aws-sdk/region-config-resolver": "3.667.0", "@aws-sdk/types": "3.667.0", "@aws-sdk/util-endpoints": "3.667.0", - "@aws-sdk/util-user-agent-browser": "3.667.0", + "@aws-sdk/util-user-agent-browser": "3.675.0", "@aws-sdk/util-user-agent-node": "3.669.0", "@smithy/config-resolver": "^3.0.9", "@smithy/core": "^2.4.8", @@ -964,19 +964,19 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.669.0" + "@aws-sdk/client-sts": "^3.675.0" } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.669.0.tgz", - "integrity": "sha512-1XdOBtHKCVxVkEDiy+oktJNSsySj3ADyh58KpHaqgvCQKV3vmfkr0YO5dG4kqq+TflNwdfl1YgMuOUiCulOWeQ==", + "version": "3.675.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.675.0.tgz", + "integrity": "sha512-zgjyR4GyuONeDGJBKNt9lFJ8HfDX7rpxZZVR7LSXr9lUkjf6vUGgD2k/K4UAoOTWCKKCor6TA562ezGlA8su6Q==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.669.0", + "@aws-sdk/client-sso-oidc": "3.675.0", "@aws-sdk/core": "3.667.0", - "@aws-sdk/credential-provider-node": "3.669.0", + "@aws-sdk/credential-provider-node": "3.675.0", "@aws-sdk/middleware-host-header": "3.667.0", "@aws-sdk/middleware-logger": "3.667.0", "@aws-sdk/middleware-recursion-detection": "3.667.0", @@ -984,7 +984,7 @@ "@aws-sdk/region-config-resolver": "3.667.0", "@aws-sdk/types": "3.667.0", "@aws-sdk/util-endpoints": "3.667.0", - "@aws-sdk/util-user-agent-browser": "3.667.0", + "@aws-sdk/util-user-agent-browser": "3.675.0", "@aws-sdk/util-user-agent-node": "3.669.0", "@smithy/config-resolver": "^3.0.9", "@smithy/core": "^2.4.8", @@ -1074,15 +1074,15 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.669.0.tgz", - "integrity": "sha512-YHhfH7w29BmMPnOK0BrBhEy2IRFRSRGSCyz3jtqpG883CZ2Lxan/AzaJDfKRdz350KPgbMMBwbPkIrqNIsg8iw==", + "version": "3.675.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.675.0.tgz", + "integrity": "sha512-kCBlC6grpbpCvgowk9T4JHZxJ88VfN0r77bDZClcadFRAKQ8UHyO02zhgFCfUdnU1lNv1mr3ngEcGN7XzJlYWA==", "dependencies": { "@aws-sdk/core": "3.667.0", "@aws-sdk/credential-provider-env": "3.667.0", "@aws-sdk/credential-provider-http": "3.667.0", "@aws-sdk/credential-provider-process": "3.667.0", - "@aws-sdk/credential-provider-sso": "3.669.0", + "@aws-sdk/credential-provider-sso": "3.675.0", "@aws-sdk/credential-provider-web-identity": "3.667.0", "@aws-sdk/types": "3.667.0", "@smithy/credential-provider-imds": "^3.2.4", @@ -1095,19 +1095,19 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.669.0" + "@aws-sdk/client-sts": "^3.675.0" } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.669.0.tgz", - "integrity": "sha512-O506azQcq6N1gnDX870MXXL9LHlhX0k6BlLMM6IDClxVDnlNkK3+n2cAEKSy8HwZJcRlekcsKz/AS2CxjPY+fg==", + "version": "3.675.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.675.0.tgz", + "integrity": "sha512-VO1WVZCDmAYu4sY/6qIBzdm5vJTxLhWKJWvL5kVFfSe8WiNNoHlTqYYUK9vAm/JYpIgFLTefPbIc5W4MK7o6Pg==", "dependencies": { "@aws-sdk/credential-provider-env": "3.667.0", "@aws-sdk/credential-provider-http": "3.667.0", - "@aws-sdk/credential-provider-ini": "3.669.0", + "@aws-sdk/credential-provider-ini": "3.675.0", "@aws-sdk/credential-provider-process": "3.667.0", - "@aws-sdk/credential-provider-sso": "3.669.0", + "@aws-sdk/credential-provider-sso": "3.675.0", "@aws-sdk/credential-provider-web-identity": "3.667.0", "@aws-sdk/types": "3.667.0", "@smithy/credential-provider-imds": "^3.2.4", @@ -1137,11 +1137,11 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.669.0.tgz", - "integrity": "sha512-HvpMJQ8xZuEGjadARVOfORPZx4U23PC5Jf6Fj+/NWK4VxEXhvf8J037fvGp3xRds5wUeuBBbhWX+Cbt0lbLCwQ==", + "version": "3.675.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.675.0.tgz", + "integrity": "sha512-p/EE2c0ebSgRhg1Fe1OH2+xNl7j1P4DTc7kZy1mX1NJ72fkqnGgBuf1vk5J9RmiRpbauPNMlm+xohjkGS7iodA==", "dependencies": { - "@aws-sdk/client-sso": "3.669.0", + "@aws-sdk/client-sso": "3.675.0", "@aws-sdk/core": "3.667.0", "@aws-sdk/token-providers": "3.667.0", "@aws-sdk/types": "3.667.0", @@ -1279,9 +1279,9 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.669.0.tgz", - "integrity": "sha512-b2QUQ7DcIcVCUFhvmFEDI90BemvQhO0ntIajllLqQSy88PSNdLDCVx5mIzfxaaK/1tdY/UsEDRRm1kMQHJDQpg==", + "version": "3.674.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.674.0.tgz", + "integrity": "sha512-IvXnWrKy4mO+I44kLYHd6Wlw+FdB4sg1jvHCmnZo1KNaAFIA3x1iXgOaZynKoBdEmol3xfr2uDbeXUQvIwoIgg==", "dependencies": { "@aws-sdk/core": "3.667.0", "@aws-sdk/types": "3.667.0", @@ -1349,11 +1349,11 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.669.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.669.0.tgz", - "integrity": "sha512-TVwlWAxfBHnFjnfTBQWUhzVJzjwVhkq1+KR0JZV7JrfqeyBOdZjAaV9ie3VNY9HUouecq1fDuKaSwe4JiWQsHg==", + "version": "3.674.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.674.0.tgz", + "integrity": "sha512-VMQWbtcbg4FV/fILrODADV21pPg9AghuEzQlW2kH0hCtacvBwFl7eBxIiCBLLtkNple+CVPJvyBcqOZdBkEv/w==", "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.669.0", + "@aws-sdk/middleware-sdk-s3": "3.674.0", "@aws-sdk/types": "3.667.0", "@smithy/protocol-http": "^4.1.4", "@smithy/signature-v4": "^4.2.0", @@ -1431,9 +1431,9 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.667.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.667.0.tgz", - "integrity": "sha512-y1pKlNzNpxzddM0QSnfIfIbi3Z9LTag1VDjYyZRbEGGSVip2J00qKsET+979nRezWMyJgw5GPBQR3Y+rN+jh0Q==", + "version": "3.675.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.675.0.tgz", + "integrity": "sha512-HW4vGfRiX54RLcsYjLuAhcBBJ6lRVEZd7njfGpAwBB9s7BH8t48vrpYbyA5XbbqbTvXfYBnugQCUw9HWjEa1ww==", "dependencies": { "@aws-sdk/types": "3.667.0", "@smithy/types": "^3.5.0", @@ -4959,9 +4959,9 @@ } }, "node_modules/@honeybadger-io/js": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@honeybadger-io/js/-/js-6.10.0.tgz", - "integrity": "sha512-XHIWLW27IWP+HmWTiiCXVQMOeIGliJdodmWVciENGGrNa0OMLG9UrwVMiM6/lPjtdzLC0PcUVvfvEkMqJbbkug==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@honeybadger-io/js/-/js-6.10.1.tgz", + "integrity": "sha512-T5WAhYHWHXFMxjY4NSawSY945i8ISIL5/gsjN3m0xO+oXrBAFaul3wY5p/FGH6r6RfCrjHoHl9Iu7Ed9aO9Ehg==", "dependencies": { "@honeybadger-io/core": "^6.6.0", "@types/aws-lambda": "^8.10.89", @@ -6133,6 +6133,279 @@ "react-dom": "^18.2.0" } }, + "node_modules/@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "dev": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -8577,9 +8850,9 @@ "dev": true }, "node_modules/@samvera/clover-iiif": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@samvera/clover-iiif/-/clover-iiif-2.10.1.tgz", - "integrity": "sha512-jtLZoA1n6P1HspTjW4x0QOEMue6g2eF4+Ha+QAopJkvHNwwSppg++6uK62d+r3V19r4LmYHlK5wNcQFXMqeH9w==", + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@samvera/clover-iiif/-/clover-iiif-2.10.2.tgz", + "integrity": "sha512-3BnPNu+Oy7R5z2ryfQTDwGHI1hxEYScPb88OOah6Z76bErPO8XS/leGIfSLMiePYXPzSMCm0kAuzYlDU8d5YhQ==", "dependencies": { "@iiif/parser": "^1.1.2", "@iiif/vault": "^0.9.22", @@ -13817,6 +14090,18 @@ "node": ">=8" } }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -15916,9 +16201,9 @@ } }, "node_modules/hls.js": { - "version": "1.5.16", - "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.5.16.tgz", - "integrity": "sha512-+wAWr4aeRq9ODN8/Vgz0Cee1Cw6Ysr7vyEkZJCwOJYNwlld7CNmhKE+dLwfpUO2UuotYLGF0of6UFiN6zA7mig==" + "version": "1.5.17", + "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.5.17.tgz", + "integrity": "sha512-wA66nnYFvQa1o4DO/BFgLNRKnBTVXpNeldGRBJ2Y0SvFtdwvFKCbqa9zhHoZLoxHhZ+jYsj3aIBkWQQCPNOhMw==" }, "node_modules/hmac-drbg": { "version": "1.0.1", @@ -20892,6 +21177,12 @@ "tslib": "^2.0.3" } }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true + }, "node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -22239,9 +22530,9 @@ } }, "node_modules/react-error-boundary": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.0.13.tgz", - "integrity": "sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.1.2.tgz", + "integrity": "sha512-GQDxZ5Jd+Aq/qUxbCm1UtzmL/s++V7zKgE8yMktJiCQXCCFZnMZh9ng+6/Ne6PjNSXH0L9CjeOEREfRnq6Duag==", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -23347,11 +23638,12 @@ } }, "node_modules/sass": { - "version": "1.79.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.4.tgz", - "integrity": "sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==", + "version": "1.80.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.3.tgz", + "integrity": "sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==", "dev": true, "dependencies": { + "@parcel/watcher": "^2.4.1", "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" diff --git a/app/assets/package.json b/app/assets/package.json index 7991399d8..1b45452de 100644 --- a/app/assets/package.json +++ b/app/assets/package.json @@ -21,17 +21,17 @@ "@apollo/react-hooks": "^4.0.0", "@apollo/react-testing": "^4.0.0", "@appbaseio/reactivesearch": "3.23.1", - "@aws-sdk/client-s3": "^3.669.0", + "@aws-sdk/client-s3": "^3.675.0", "@emotion/react": "^11.13.3", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-brands-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", - "@honeybadger-io/js": "^6.10.0", + "@honeybadger-io/js": "^6.10.1", "@honeybadger-io/react": "^6.1.7", "@nulib/design-system": "^1.5.1", "@radix-ui/react-dialog": "^1.1.2", - "@samvera/clover-iiif": "^2.10.1", + "@samvera/clover-iiif": "^2.10.2", "@samvera/image-downloader": "^1.1.1", "bulma": "^0.9.4", "bulma-checkradio": "^2.1.3", @@ -48,7 +48,7 @@ "file-saver": "^2.0.5", "graphql": "^16.9.0", "graphql-tag": "^2.12.6", - "hls.js": "^1.5.16", + "hls.js": "^1.5.17", "inflection": "^3.0.0", "jest-environment-jsdom": "^29.7.0", "js-cookie": "^3.0.5", @@ -61,7 +61,7 @@ "react-csv": "^2.2.2", "react-device-detect": "^2.2.3", "react-dropzone": "^14.2.9", - "react-error-boundary": "^4.0.13", + "react-error-boundary": "^4.1.2", "react-helmet": "^6.1.0", "react-hook-form": "^7.33.1", "react-icons": "^5.3.0", @@ -112,7 +112,7 @@ "react-dom": "^18.3.1", "react-router-dom": "^5.3.0", "react-router-prop-types": "^1.0.5", - "sass": "^1.79.4", + "sass": "^1.80.3", "ts-node": "^10.9.2", "typescript": "^5.6.3", "use-phoenix-channel": "^1.1.1" diff --git a/app/lib/meadow/indexing/v2/collection.ex b/app/lib/meadow/indexing/v2/collection.ex index ca4af41e8..b06335016 100644 --- a/app/lib/meadow/indexing/v2/collection.ex +++ b/app/lib/meadow/indexing/v2/collection.ex @@ -14,6 +14,7 @@ defmodule Meadow.Indexing.V2.Collection do featured: collection.featured, finding_aid_url: collection.finding_aid_url, id: collection.id, + iiif_collection: iiif_collection_id(collection), indexed_at: NaiveDateTime.utc_now(), keywords: collection.keywords, modified_date: collection.updated_at, @@ -40,4 +41,6 @@ defmodule Meadow.Indexing.V2.Collection do def encode_label(%{label: label}), do: label def encode_label(_), do: nil + + defp iiif_collection_id(collection), do: "#{api_url()}/collections/#{collection.id}?as=iiif" end diff --git a/app/mix.exs b/app/mix.exs index 8317156de..985a6ceed 100644 --- a/app/mix.exs +++ b/app/mix.exs @@ -3,7 +3,7 @@ Code.require_file("lib/env.ex") defmodule Meadow.MixProject do use Mix.Project - @app_version "9.4.13" + @app_version "9.5.0" def project do [ diff --git a/app/mix.lock b/app/mix.lock index f2286ec07..831702938 100644 --- a/app/mix.lock +++ b/app/mix.lock @@ -12,7 +12,7 @@ "broadway_dashboard": {:hex, :broadway_dashboard, "0.3.0", "912da4c459baed0cd9c356bffa1645d82f3b3fc72b23cc52b2429eef317952b2", [:mix], [{:broadway, "~> 1.0", [hex: :broadway, repo: "hexpm", optional: false]}, {:phoenix_live_dashboard, "~> 0.5.1 or ~> 0.6.0 or ~> 0.7.0", [hex: :phoenix_live_dashboard, repo: "hexpm", optional: false]}], "hexpm", "2f48848fa388edce1f07fdcf0eae7b4fcab1244a82ffcf758120fd9ca875e4a6"}, "broadway_sqs": {:hex, :broadway_sqs, "0.7.4", "ab89b298f9253adb8534f92095b56d4879e35fe2f5a0730256f7e824572c637f", [:mix], [{:broadway, "~> 1.0", [hex: :broadway, repo: "hexpm", optional: false]}, {:ex_aws_sqs, "~> 3.2.1 or ~> 3.3", [hex: :ex_aws_sqs, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.3.7 or ~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:saxy, "~> 1.1", [hex: :saxy, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7140085c4f7c4b27886b3a8f3d0942976f39f195fdbc2f652c5d7b157f93ae28"}, "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, - "cachex": {:hex, :cachex, "4.0.1", "940aed7c89f13f30cfe6db0733cbd463cfd2a443b4456a35d88df7c9427b9347", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:ex_hash_ring, "~> 6.0", [hex: :ex_hash_ring, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "e9caccc066c6cdc312077f4ae36b7b13a2e9acf826cc22537999331c781b2474"}, + "cachex": {:hex, :cachex, "4.0.2", "120f9c27b0a453c7cb3319d9dc6c61c050a480e5299fc1f8bded1e2e334992ab", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:ex_hash_ring, "~> 6.0", [hex: :ex_hash_ring, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "4f4890122bddd979f6c217d5e300d0c0d3eb858a976cbe1f65a94e6322bc5825"}, "castore": {:hex, :castore, "1.0.8", "dedcf20ea746694647f883590b82d9e96014057aff1d44d03ec90f36a5c0dc6e", [:mix], [], "hexpm", "0b2b66d2ee742cb1d9cb8c8be3b43c3a70ee8651f37b75a8b982e036752983f1"}, "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, "configparser_ex": {:hex, :configparser_ex, "4.0.0", "17e2b831cfa33a08c56effc610339b2986f0d82a9caa0ed18880a07658292ab6", [:mix], [], "hexpm", "02e6d1a559361a063cba7b75bc3eb2d6ad7e62730c551cc4703541fd11e65e5b"},