/**
 * Copyright IBM Corp. 2020, 2026
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */

import { __toESM } from "../../../_virtual/_rolldown/runtime.js";
import { require_classnames } from "../../../node_modules/classnames/index.js";
import { pkg } from "../../../settings.js";
import { getDevtoolsProps } from "../../../global/js/utils/devtools.js";
import { HTTPErrorContent } from "../HTTPErrorContent.js";
import { HTTPErrorSvg404 } from "../assets/HTTPErrorSvg404.js";
import React from "react";
import { arrayOf, shape, string } from "prop-types";
//#region src/components/HTTPErrors/HTTPError404/HTTPError404.tsx
/**
* Copyright IBM Corp. 2021, 2021
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
var import_classnames = /* @__PURE__ */ __toESM(require_classnames());
const blockClass = `${pkg.prefix}--http-errors`;
const componentName = "HTTPError404";
/**
* HTTP errors are used in an attempt to access something that isn’t available or
the user doesn’t have permission for. This HTTPError component is generic so you
can use it when you receive an error code that isn't provided.
*/
const HTTPError404 = React.forwardRef(({ className, description, errorCodeLabel, links, title, ...rest }, ref) => {
	return /* @__PURE__ */ React.createElement("div", {
		...rest,
		className: (0, import_classnames.default)(blockClass, className),
		ref,
		...getDevtoolsProps(componentName)
	}, /* @__PURE__ */ React.createElement(HTTPErrorContent, {
		description,
		errorCodeLabel,
		title,
		links
	}), /* @__PURE__ */ React.createElement(HTTPErrorSvg404, {
		className: `${blockClass}__image`,
		title
	}));
});
/**@ts-ignore*/
HTTPError404.deprecated = {
	level: "warn",
	details: `${componentName} is deprecated. Please migrate to FullPageError by running npx @carbon/upgrade migrate ibm-products-update-http-errors --write`
};
HTTPError404.displayName = componentName;
HTTPError404.propTypes = {
	/**
	* Provide an optional class to be applied to the containing node
	*/
	className: string,
	/**
	* String that will provide the description for the HTTP error code
	*/
	description: string.isRequired,
	/**
	* String that will describe the error that occurred
	*/
	errorCodeLabel: string.isRequired,
	/**
	* Links that will display for extra context when receiving particular errors
	*/
	/**@ts-ignore */
	links: arrayOf(shape({
		/**
		* The text to display for the link
		*/
		text: string.isRequired,
		/**
		* The link's destination
		*/
		href: string.isRequired
	})),
	/**
	* This will be for the main title of the HTTP error component
	*/
	title: string.isRequired
};
//#endregion
export { HTTPError404 };
